2011-06-11 49 views
4

在我的具有分体视图控制器的应用程序中,我有一个加载视图。我的根视图控制器是UITableViewController的子类;在加载数据我保存self.view并与加载视图转换出来:带分体视图控制器的分块视图框架

- (void)loadingWillBegin { 
    self.cachedView = self.view; 
    self.progressBar.progress = 0.0; 
    [UIView transitionFromView:self.view toView:self.loadingView duration:1.0 options: UIViewAnimationOptionTransitionCurlDown completion:NULL]; 
    self.view = self.loadingView; 
} 

- (void)loadingDidFinish { 
    [UIView transitionFromView:self.loadingView toView:self.cachedView duration:1.0 options:UIViewAnimationOptionTransitionCurlUp completion:NULL]; 
    self.view = cachedView; 
} 

的转换工作得很好,但是装载视图调出表视图的框架之后是所有搞砸了。这是一个与状态栏大小相同的黑色条(我清除了状态条模拟指标),并且视图延伸到屏幕底部的下方。该框架似乎与loadingView相同;根据这一观点,我已将iPad模拟指标设置为Master,导致视图高度约为820px。无论该选项的设置如何,Xcode 4都不允许我在“大小”检查器中更改视图的框架。

我应该怎样处理视图的框架?

回答

2

完成动画后,您可以手动设置正确的框架。

[UIView transitionFromView:self.loadingView toView:self.cachedView duration:1.0 options:UIViewAnimationOptionTransitionCurlUp completion:^(BOOL finished){self.cachedView.frame = /* Insert appropriate frame here. */;}];