![](/img/trans.png)
[英]Segue/Transition between two views in a storyboard w/o a NavigationController
[英]Transition between Views with Storyboard
在我的應用程序中,我有一個啟用了多個標簽的標簽欄控制器。 這些選項卡之一是下圖所示的選項卡:
通過按下“ i”按鈕,打開第二個視圖。 通過按下“返回”按鈕,將再次打開第一個視圖。 這些過渡是通過Storyboard Segues進行的。
問題是,如果我對Segue使用Modal樣式,則選項卡欄會消失。 我的問題是:在Tab欄的情況下只能使用Push風格的Segues嗎? 有沒有一種方法可以實現模式轉換,並使故事板保持選項卡欄可見?
在此先感謝,yassa
使用自定義segue來執行此操作。
並使用pushViewController代替presentModalViewController。
- (void)perform
{
// Add your own animation code here.
[[self sourceViewController] presentModalViewController:[self destinationViewController] animated:NO];
}
改成
- (void)perform
{
// Add your own animation code here.
[self.sourceViewController.navigationController pushViewController:destination animated:NO];
}
這種情況與UINavigationController
相同。 使用除push
以外的任何其他命令都不會保留導航欄或標簽欄。 UINavigationController
的解決方法是將詳細信息視圖嵌入其自己的UINavigationController
。 如果您考慮一下,這是有道理的。 模態序列的目的是向用戶提供一些可行的信息,也許是不在主題范圍內的信息。 從UX理論上講,您通常只會提供用例之外的幾種方法。
對於選項卡欄,在希望使選項卡欄保持可見的同時使用模式定序並沒有多大意義,因為這將允許用戶導航到您的模式視圖。 話雖如此,您可以嘗試將模式視圖的高度縮短,以使其在推入堆棧時不會覆蓋選項卡欄。 這未經測試,但在我看來似乎是可能的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.