以下代码在iOS 10及更低版本中运行良好.我最近安装了Xcode 9.0 beta 5并在iPad Air上安装了iOS 11 beta 7进行测试.现在,remedyMenuTapped方法没有被执行.
self.remedyMenuView = Bundle.main.loadNibNamed("RemedyMenu", owner: self, options: nil)![0] as? RemedyMenu
self.remedyMenuView?.isHidden = true
self.navigationItem.titleView = remedyMenuView;
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(RemedyDetailVC.remedyMenuTapped(_:)))
self.remedyMenuView?.addGestureRecognizer(tapGesture)
Run Code Online (Sandbox Code Playgroud)
Jam*_*run 26
我在自定义视图中遇到了同样的问题,其中有一个手势放在标题视图中,它看起来像是一个错误的xcode 9或者在标题视图中更改了ios 11的内容,这使得titleView内部的任何内容都具有0,0,我通过覆盖我的自定义视图的intrinsicContentSize属性来解决它,在你的情况下"remedyMenuView"就像这样
override var intrinsicContentSize: CGSize {
return CGSize(width: 150, height: 36)
}
Run Code Online (Sandbox Code Playgroud)
祝好运.