2013-06-30 23 views
0

我有一個帶有TabBar(BottomBar)和ToolBar的UITableView。當選擇一個單元格時,detailsView被推送到堆棧。 detailsView沒有TabBar也沒有ToolBar。這是prepareForSegue方法中完成:iOS同時推動BottomBar和ToolBar

... 
if ([segue.identifier isEqualToString:@"ShowDetails"]) 
{ 
    ... 
    editDetailsViewController.hidesBottomBarWhenPushed = YES; // for hiding the TabBar 
    [self.navigationController setToolbarHidden:YES]; // for hiding the toolbar 
} 

現在一切工作正常,但所選單元格時,工具欄中顯示在DetailsView之前的表視圖立即關閉。 如何防止該行爲? ToolBar和TabBar應該一起移動而不關閉它們中的任何一個?

謝謝!

回答

1

這部分是好的:

... 
if ([segue.identifier isEqualToString:@"ShowDetails"]) 
{ 
    ... 
    editDetailsViewController.hidesBottomBarWhenPushed = YES; // for hiding the TabBar 
} 

然而,prepareForSegue在推之前調用。

如果您希望工具欄與動畫你應該implement a Custom UISegue隱藏和過渡動畫UIToolbar

+0

謝謝尼古拉,我認爲'prepareForSegue'的內容在推後被調用。我會盡量遵循添加鏈接的建議。 – JFS

+0

祝你好運!請記住,鏈接中的示例是關於完全不同的動畫,對於您的情況,您應該弄清楚如何爲您的工具欄設置動畫效果。 –

+0

是的,我知道。我仍然很驚訝我需要爲此實現一個自定義動畫。 – JFS

0

我想你應該評論這一行。

[self.navigationController setToolbarHidden:YES]; 

並重試。

+0

謝謝looyao,我之前嘗試過,但這會導致更糟糕的行爲:工具欄關閉,並將其佔用的空間保留在tableView黑色。在詳細信息中,工具欄顯示得很短,並且會再次消失。 – JFS