簡體   English   中英

使用Segues將UINavigationViewController切換到UITabBarController

[英]Switching UINavigationViewController to UITabBarController with Segues

我正在更改我的應用程序以使用UITabBarController而不是UINavigationViewController 我相應地替換了控制器,並成功使用選項卡啟動了應用程序。 稍后在代碼中,我遇到了使用segues的一些困難,其中類似

[self performSegueWithIdentifier:@"ImageViewController" sender:self];

不會產生錯誤

僅當由UINavigationController的實例管理源控制器時,才能使用推送選擇

當我將UINavigationController嵌入到初始的FirstViewController ,上面的行工作正常。 我需要那條線在視圖之間切換,並將一些數據傳遞給另一個視圖控制器。

問題是,使用segue標識符轉到SecondViewController隱藏TabBar導航(除非我再次將SecondViewController包裝在UINavigationController ,依此類推)。 那不是解決方案。

問題 :如何在保持選項卡導航可見的情況下如何使用UITabBarController並繼續使用segue?

在此處輸入圖片說明

“僅當源控制器由UINavigationController的實例管理時,才可以使用推送選擇”

在我看來,您在導航控制器外部的某個地方使用了push播功能。 嘗試在界面生成器中選擇不在導航控制器內部的所有“搜索氣泡”:

塞格泡泡

並在右側窗格中檢查segue的樣式:

Segue設置

如果將樣式設置為如上所述的值push ,則將其更改為modalcustom

將樣式更改為模式

您的連接有問題。 如果您正在使用界面構建器(storyboard),則您的連接應如下所示。 見圖片

請注意,您缺少UINavigation標題標頭。 同樣,每個視圖控制器下方的灰色區域也意味着為UITabBarController的圖像保留了空間

另一個問題是您的UIToolBar。 看起來像它位於顯示UITabBar的頂部。 因為您已經具有UINavigationController和UITabBarController,所以可能會/可能不會使您的應用程序被蘋果拒絕。 如果您需要該頁面上的更多按鈕/選項,請改用UIButtons。

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM