2011-04-16 51 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的最佳方法是?

回答