2017-10-21 207 views
0

正如標題所示,我在導航欄中使用UIButton作爲titleView。有沒有辦法讓我的UIButton與導航欄一起變大?當我設置self.navigationController?.navigationBar.prefersLargeTitles = true,我得到的就是這個,iOS 11喜歡用uibutton作爲標題的大標題

larger navbar with regular title

回答

0

我找不到這個任何文件,所以我打了一下。看起來在iOS 11中,您不能將該標題作爲按鈕並在左側顯示較大。

此外,我玩的按鈕的框架大小(下面添加)。無論我設置框架,我無法增加按鈕大小。


要重新創建,我建立了一個Single View項目。我將視圖控制器嵌入到導航控制器中。

ViewController.swiftviewDidLoad,我添加以下代碼:

let titleButton = UIButton(type: .roundedRect) 
    titleButton.setTitle("Hello Button!", for: UIControlState.normal) 

    let navController = parent as! UINavigationController 

    navController.navigationBar.topItem!.title = "Hello???" 
    navController.navigationBar.topItem!.titleView = titleButton 
    navController.navigationBar.prefersLargeTitles = true 

這最終看起來像你的榜樣。

如果我

  • 設置.title空字符串,或remark線路輸出:導航欄被拉伸,並沒有標題的文本顯示(或標題文本在Interface Builder設置顯示)

  • 註釋掉.prefersLargeTitles,或將其設置爲false:導航欄是標準高度,按鈕顯示,但沒有標題文本顯示。

  • 話說出來的titleView行,:

    • 離開.prefersLargeTitles設置爲true:在title文本顯示在大左和導航欄的高度被拉伸。
    • .prefersLargeTitles設置爲falsetitle文本顯示在頂部中心,導航欄爲正常高度。