我在代碼中做我的用戶界面,我遇到了問題,我的UIViewController
坐在我的UINavigationController
的酒吧後面。UIViewController在UINavigationController Bar後面 - 正確的方法
我GOOGLE了一下,似乎有三個解決方案。但是,一切都是指從iOS 6到iOS 7的過渡,這一切似乎都像是黑客。我無法想象這仍然是它必須完成的方式。
解決方案是去除半透明,我不想這樣做。在某個時間點,我可能需要滾動內容,然後在導航欄的背景中模糊地顯示。另一種解決方案是通過添加「假」填充來移動所有內容。這也不是很理想,因爲我不知道我的內容是否有一天會超出屏幕,然後如前所述,我希望將內容放在導航欄後面。然後是最後的解決方案self.edgesForExtendedLayout = UIRectEdge.None
這似乎非常像一個黑客。
也許這不過是因爲我發起的方式我UIViewController
,我得加我在這裏AppDelegate
使用代碼:
var window: UIWindow?
var navigationController: UINavigationController?
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
window = UIWindow()
if let window = window {
window.backgroundColor = UIColor.whiteColor()
let vc = CustomUIViewController()
navigationController = UINavigationController(rootViewController:vc)
if let _ = navigationController {
window.rootViewController = navigationController
}
window.makeKeyAndVisible()
}
return true
}
目前我使用的self.edgesForExtendedLayout = UIRectEdge.None
在viewDidLoad()
變通,但它感覺不對。
感謝您對如何正確處理此問題的任何建議。
如果你的UIViewController的第一個子視圖是一個UIScrollView,你可以自動設置AdjustScrollViewInsets爲YES,並且滾動視圖應該很好地嵌入 –