2011-04-16 28 views
0

我正在使用一個控制器(MAIN)來管理在其主視圖中呈現2個其他控制器(A和B)視圖的方式。 在MAIN控制器中查看我在MAIN視圖xib中創建了一個按鈕。 BUTTON必須在A和B視圖之上。transitionFromView和索引

所以這是視圖層次結構,我需要:

MAIN.VIEW 
     |------A or B view (index 0) 
     |------BUTTON  (index 1) 

在這裏,我如何創建A和B到主:

//MAIN CONTROLLER viewDidLoad 
- (void)viewDidLoad { 
    [super viewDidLoad]; 

    self.A = [[A alloc] init]; 
    self.B = [[B alloc] init]; 

    //Start from A view visible in MAIN 
    [self.view insertSubview:self.A.view atIndex:0]; 
} 

一個具體的行動電話後,我想插入控制器B視圖刪除A. 我讀了about transitionFromView,我試着用這種方式:

[UIView transitionFromView:self.A.view 
        toView:self.B.view 
        duration:1.0 
        options:UIViewAnimationOptionTransitionFlipFromRight 
       completion:^(BOOL finished) { 
        if (finished) { 
         //nothing for now... 
        } 
       }]; 

這裏的問題是,經過翻轉動畫B觀看結束按鈕,不正是拿A的發生在我的階層(在索引0)

我可以添加此代碼到完成塊:

[self.view sendSubviewToBack:self.B.view]; 

但我認爲這是一個有點棘手的解決方案:P(這不是一個很好的解決方案也是如此,因爲它似乎在一個壞的圖形效果的動畫結束有效地出現......)

是哪個確保A和B位於索引0的最佳方法是?

回答