![](/img/trans.png)
[英]iOS: presentViewController in different storyboard is not showing navigation bar
[英]iOS 7 status and navigation bar different height in storyboard than in app
這是一個視圖控制器,而不是模態顯示,因此全屏。
在故事板中,“頂部布局指南”位於y:64
。 當狀態欄為height:20
時,我會期待這一點height:20
,導航欄height:44
。
但是,當應用程序運行時,“頂部布局指南”為y:52
。 我不知道它是如何或為何失去12分。
當您使用Apple的導航控制器插入導航欄時,它將根據您的方向具有不同的高度。 例如,導航欄為縱向44點,橫向為32點。 在你的情況下,我猜你的應用程序何時運行,它是橫向的,因此“頂部布局指南”是y:52(32 + 20)。
請參閱此相關帖子: 帶旋轉的NavigationBar。
如果您嘗試監視這些導航欄高度更改,例如:
-(void) viewDidLayoutSubviews
{
[super viewDidLayoutSubviews];
CGFloat navBarHeight = self.navigationController.navigationBar.frame.size.height;
}
你會意識到,雖然app將方向改為橫向模式,但navBarHeight
的價值仍然是舊的( 44
)。 要解決這個問題,請使用內在大小:
-(void) viewDidLayoutSubviews
{
[super viewDidLayoutSubviews];
CGFloat navBarHeight = self.navigationController.navigationBar.intrinsicContentSize.height;
}
通常 ,您無法確定故事板(或筆尖)中對象的幾何形狀是最終的屏幕幾何形狀。 最終的屏幕幾何形狀不僅取決於設備方向,還取決於屏幕尺寸(例如,3.5英寸與4英寸iPhone)。
不幸的是,否則很容易想到。 例如,如果故事板正在縱向模擬4英寸iPhone,並且您在4英寸模擬器中以縱向運行應用程序,那么最終的屏幕幾何將與故事板中的幾何相同。
要在故事板中模擬不同的方向或屏幕尺寸,請訪問視圖控制器的“屬性”檢查器:
如果你正在使用Xcode 5,那么在右下角的IB畫布上還有一個“浮動”按鈕,可以讓你快速改變模擬的形狀因子。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.