正如标题所示,我在导航栏中使用UIButton作为titleView。有没有办法让UIButton与导航栏一起变大?当我设置self.navigationController?.navigationBar.prefersLargeTitles = true
时,我得到的就是这个,
答案 0 :(得分:0)
我找不到任何关于此的文档,所以我玩了一下。在iOS 11中,您似乎无法将该标题作为按钮并在左侧显示较大的内容。
另外,我玩了按钮的框架尺寸(下面添加)。无论我将帧设置为什么,我都无法增加按钮大小。
要重新创建,我设置了一个单视图项目。我将视图控制器嵌入到导航控制器中。
在struct Login: Encodable {
let username: String
let password: String
}
struct User: Decodable {
let id: Int
let username: String
let email: String
}
struct Response: Decodable {
let token: String
let user: User
}
' ViewController.swift
中,我添加了以下代码:
viewDidLoad
这最终看起来像你的例子。
如果我:
将 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
设置为空字符串,或者注释掉该行:导航栏被拉伸,并且没有显示标题文本(或在Interface Builder中显示标题文本)
注释.title
,或将其设置为.prefersLargeTitles
:导航栏是正常高度,按钮显示,但不显示标题文字。
注明false
行,AND:
titleView
设置为.prefersLargeTitles
:true
文字显示在左侧,并且导航栏的高度已拉伸。title
设置为.prefersLargeTitles
:false
文字显示在顶部中心,导航栏为正常高度。