2011-06-11 72 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. */;}];