我正在使用自定义titleView并将其分配给navigationItem titleView.在iOS 11之前它一直运行良好.由于更新它的位置错误地放在中心位置,因为它原来是在更左边.除此之外,用户交互无效.
titleView = Bundle.main.loadNibNamed("SomeNib", owner: self, options: nil)?.first as? SomeNib
navigationItem.titleView = titleView
Run Code Online (Sandbox Code Playgroud)
titleView只是一个通常的笔尖.
然后启用互动:
if let titleView = self.navigationItem.titleView {
let tap = UITapGestureRecognizer(target: self, action: #selector(onTitleViewTap))
titleView.addGestureRecognizer(tap)
titleView.isUserInteractionEnabled = true
}
Run Code Online (Sandbox Code Playgroud)
Pun*_*rma 12
在iOS 11中,titleView与Autolayout一起设置.因此,titleView的大小是您在titleView中设置的视图的固有大小.
视图类中的此代码(您将其设置为titleView)应该有助于:
override var intrinsicContentSize: CGSize {
return UILayoutFittingExpandedSize
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
976 次 |
| 最近记录: |