[英]How to change barPosition of navigationBar to topAttached in swift3
我需要將navController的navBar的barPosition更改為topAttached類型。 我嘗試使用UINavigationBarDelegate的position(for bar :)方法。 在MyViewController類中:
navigationController?.navigationBar.delegate = self
並擴展為:
extension MyViewController: UINavigationBarDelegate{
func position(for bar: UIBarPositioning) -> UIBarPosition {
return .topAttached
}
}
但這不起作用,因為
由於未捕獲的異常“ NSInternalInconsistencyException”而終止應用程序,原因:“無法在控制器管理的UINavigationBar上手動設置委托。”
那么這里還有其他方法可以在Swift 3中更改barPosition嗎? 提前致謝!
NavigationBar.position
是一個readonly
屬性。 您無法更改。 如果要更改導航欄的框架。 首先更改UINavigationController的框架,然后將其插入。
例:
如果要向下移動它:
self.navigationController?.view.frame = CGRect(x: 0.0, y: 100.0, width: 320.0, height: 426.0)
self.navigationController?.navigationBar.frame = CGRect(x: 0.0, y: 0.0, width: 320.0, height: 44.0)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.