iOS 11.0 GM:UINavigationItem 的 titleView 的子视图收不到触摸事件?

iOS 11.0 GM: Subviews of UINavigationItem's titleView don't receive touch events?

在 iOS 的所有版本中 — 包括 iOS 11.0 的每个测试版,除了 GM,15A372 — UINavigationItemtitleView 内部的视图会收到触摸正常事件,使得标题视图中有按钮成为可能。

在版本 15A372 中,titleView 的子视图不接收任何触摸事件,因此该视图中的按钮无用。我已经用设备和模拟器进行了测试 运行 iOS 10 并且没有看到这种行为。我已经打开 rdar://34499607 关于这个问题,当我收到回复时会更新这个问题,但我想知道是否有其他人遇到过这个问题,或者有任何临时解决方案。

Apple 的 documentation about the titleView property 特别指出 "custom views can contain buttons," 使此更改令人困惑。

如果这是预期的行为,令人气愤的是,他们一直等到 almost-literal 最后一刻才做出这一重大改变,却忽略将其包含在任何文档或发行说明中。

你可以看到这个问题link

只需在您的视图中覆盖 intrinsicContentSize 属性:

导入 UIKit

class 标题视图:UIView {

override var intrinsicContentSize: CGSize {
    return CGSize(width: 400, height: 55)
}

}