navigationItem.titleView上的UITapGestureRecognizer无法在iOS 11上运行

时间:2017-09-01 09:16:06

标签: ios swift ios11

以下代码在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)

1 个答案:

答案 0 :(得分:25)

我在自定义视图中遇到了同样的问题,其中有一个手势放在标题视图中,它看起来像xcode 9的错误或者在标题视图中更改了ios 11的内容,这使得titleView内的任何内容都有大小为0,0,我通过覆盖我的自定义视图的intrinsicContentSize属性来解决它,在你的情况下“remedyMenuView”就像这样

override var intrinsicContentSize: CGSize {
        return CGSize(width: 150, height: 36)
    }
祝你好运。