簡體   English   中英

使用UITabbar的UISplitView

[英]UISplitView with UITabbar

我有一個奇怪的,我似乎無法解決。 我目前正在努力將我的應用更新到iOS7。 這一切都在iOS6中有效。 它是一個通用應用程序,因此使用相同的xib文件。 然而,iPad在某些上使用了UISplitViews。 就像我說的,這一切都適用於iOS6哦,這一切都適用於iPhone。

問題是底部是灰色條。 我將標簽欄更改為不透明以正確移動視圖,因為我將一些UI剪切到視圖底部並且位於標簽欄下方,在那里進行了側移。 但是,如果我將它設置回半透明條,它會在下方但正確拉伸。 如果我不這樣做,它會添加一個條形碼。 其他選項卡在不使用splitview時工作正常。

UISplitviewController以編程方式添加。

有關更好的說明,請參見附圖。

灰色條位於我的splitview和tabbar之間

我試過這個:

  • 在splitview上添加了自動調整大小
  • 已檢查xib以查看拆分視圖中的子視圖以自動調整大小
  • 試圖強制splitview成為屏幕邊界
  • 刪除了所有視圖上綁定的剪輯
  • 刪除了自動調整大小的子視圖

任何想法都會受到歡迎。

謝謝你們。

更新:

設置uisplitview的背景顏色,它會使條紋黑色。 所以uisplitview肯定會延伸到它。

我將UISplitViewController子類化,並將下面的行添加到viewDidLoad並修復了灰線。

self.extendedLayoutIncludesOpaqueBars = YES;

我相信我已經找到了替代解決方案。 我遇到了完全相同的問題,主要是因為我們都在針對Apple的指南做了一些事情,它有一個嵌套在Tabbar控制器中的SplitViewController(SplitView應該是根視圖)。 這在iOS 5/6中沒問題,但現在在iOS 7中有太多的副作用來實現這一點。

當您將條形設置為半透明時,您看到視圖完全拉伸的原因是因為繪制視圖時不考慮條形。 當您將半透明設置為false時,會將其考慮在視圖中,您將看到那里的灰色條,因為您的視圖假裝在屏幕底部有一個標簽欄。

和往常一樣,SplitViewcontroller的高度無法更改,因為它由可見窗口高度決定。

我嘗試了你所做的一切,然后是一些。 真正的解決方案來自使用第三方拆分視圖控制器。

我建議切換到https://github.com/mattgemmell/MGSplitViewController 這個拆分視圖控制器實際上是一個大視圖,其中包含容器視圖。 因此,您可以避免將實際拆分視圖控制器放在選項卡欄中的所有副作用。

如果這不會漂浮你的船,你可以創建自己的解決方案,遵循相同的想法,讓一個UIViewController包含兩個容器視圖,雖然MGSplitViewController背后的人已經做得很好。

這是我能夠解決這個問題的唯一方法,如果您找到替代方案,請告訴我。

我沒有為UISplitViewController創建子類, UISplitViewController在我的master的viewDidLoad上添加了這段代碼:

self.splitViewController?.extendedLayoutIncludesOpaqueBars = true

對於作為UISplitViewController的詳細視圖的控制器,您只需執行以下操作:

-(UITabBarController*)tabBarController{
    return nil;
}

暫無
暫無

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

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