簡體   English   中英

在主視圖上方翻轉子視圖

[英]Flipping Subviews above a main view

我正在嘗試建立一個位於主視圖上方的子視圖,該子視圖的大小約為主視圖的3/4。 當按下按鈕時,子視圖應翻轉到另一個子視圖。 我很近,但是有兩個問題。

第一個問題是,第一次按下翻轉按鈕時,第二個子視圖從全屏開始並縮小到指定的幀大小,而不是渲染任何翻轉動畫。

呈現第二個視圖后,我便可以在第一視圖和第二個視圖之間翻轉(我添加了第二個按鈕以向后翻轉以進行測試)。

我的第二個問題是,當視圖翻轉時,新視圖將在翻轉之前加載,然后發生翻轉。 在建立翻轉視圖之前,我已經建立了翻轉視圖,但是僅當整個屏幕都是視圖時才可以。

這是我的主視圖控制器中的代碼:

- (void)viewDidLoad {

    Page1Controller *myPage1=[[Page1Controller alloc] initWithNibName:@"Page1Controller" bundle:nil];
    Page2Controller *myPage2=[[Page2Controller alloc] initWithNibName:@"Page2Controller" bundle:nil];
    self.page1 = myPage1;
    self.page2 = myPage2;
    [myPage1 release];
    [myPage2 release];
    [[page1 view] setFrame:CGRectMake(45, 40, 230, 280)];
    [[self view] addSubview:[page1 view]];

    [super viewDidLoad];
}

這是兩個按鈕的代碼:

- (void)flipPressed:(id)sender {
    [UIView beginAnimations:@"View Flip" context:nil];
    [UIView setAnimationDuration:1.5];
    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:[page2 view] cache:YES];
    [page1.view removeFromSuperview];
    [[page2 view] setFrame:CGRectMake(45, 40, 230, 280)];
    [[self view] addSubview:[page2 view]];

    [UIView commitAnimations];

}

- (void)backFlipPressed:(id)sender {
    [UIView beginAnimations:@"View Flip" context:nil];
    [UIView setAnimationDuration:1.5];
    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:[page1 view] cache:YES];
    [page2.view removeFromSuperview];
    [[self view] addSubview:[page1 view]];
    [[page1 view] setFrame:CGRectMake(45, 40, 230, 280)];

    [UIView commitAnimations];
}

非常感謝您對我的任何一個問題的幫助!

第一個問題:在beginAnimations之前設置視圖的框架。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM