自定义标题视图作为iOS 11新导航栏中的大标题

Den*_*lko 7 uinavigationbar titleview ios ios11

我使用一个按钮作为我的标题视图UITableViewController,打开一个类别的下拉列表.选择类别会按所选类别过滤表格视图的内容.

按钮显示所选类别的名称加上一个小箭头,类似于iBooks的外观(或者看起来仍然看起来?我暂时没有使用它).因此,我希望它具有与标准标题相同的行为,并且首先使其变大,并在滚动表视图时折叠.

有没有办法做到这一点?

谢谢

iAm*_*mcR 6

看来由于新的大型游戏,IOS11需要在navigationItem.titleView中设置自定义视图的约束.

这样做是为了:

customView.widthAnchor.constraint(equalToConstant: 200).isActive = true
customView.heightAnchor.constraint(equalToConstant: 44).isActive = true

self.navigationItem.titleView = customView
Run Code Online (Sandbox Code Playgroud)

请注意,必须同时对宽度和高度进行此操作.

它应该工作.无需添加按钮,至少在我的情况下......

这是Apple建议的,以确保您没有零大小的自定义视图.请参阅https://developer.apple.com/videos/play/wwdc2017/204/中的幻灯片33


小智 4

看起来 navigationItem.titleView 的触摸已损坏。手势、点击事件和按钮 - 没有任何作用