iOS 11喜欢用uibutton作为标题的大标题
问题描述:
正如标题所示,我在导航栏中使用UIButton作为titleView。有没有办法让我的UIButton与导航栏一起变大?当我设置self.navigationController?.navigationBar.prefersLargeTitles = true
,我得到的就是这个,iOS 11喜欢用uibutton作为标题的大标题
答
我找不到这个任何文件,所以我打了一下。看起来在iOS 11中,您不能将该标题作为按钮并在左侧显示较大。
此外,我玩的按钮的框架大小(下面添加)。无论我设置框架,我无法增加按钮大小。
要重新创建,我建立了一个Single View项目。我将视图控制器嵌入到导航控制器中。
在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
这最终看起来像你的榜样。
如果我:
设置
.title
空字符串,或remark线路输出:导航栏被拉伸,并没有标题的文本显示(或标题文本在Interface Builder设置显示)注释掉
.prefersLargeTitles
,或将其设置为false
:导航栏是标准高度,按钮显示,但没有标题文本显示。-
话说出来的
titleView
行,:- 离开
.prefersLargeTitles
设置为true
:在title
文本显示在大左和导航栏的高度被拉伸。 - 将
.prefersLargeTitles
设置为false
:title
文本显示在顶部中心,导航栏为正常高度。
- 离开