navigationItem.titleView = 自定义view,
宽度200.在iOS10 及之前是OK的,
xcode9+iOS11,就出现了图一所示问题,
看UI结构发现宽度只有一点点,
不知道是哪里出的问题,
是iOS11出了什么新的东西导致的么?
请问这个问题该怎么解决呢?
问题补充:刚刚发现在iOS11 navigationItem.titleView = 自定义view,
自定义view里有个button,点击事件不触发了.在iOS10上是好的
navigationItem.titleView = 自定义view,
宽度200.在iOS10 及之前是OK的,
xcode9+iOS11,就出现了图一所示问题,
看UI结构发现宽度只有一点点,
不知道是哪里出的问题,
是iOS11出了什么新的东西导致的么?
请问这个问题该怎么解决呢?
问题补充:刚刚发现在iOS11 navigationItem.titleView = 自定义view,
自定义view里有个button,点击事件不触发了.在iOS10上是好的
苹果想让你使用 AutoLayout 机制,所以这里你需要设置:
customView.translatesAutoresizingMaskIntoConstraints = false
重写intrinsicContentSize方法
- (CGSize)intrinsicContentSize
{
return CGSizeMake(200, 44);
}
iOS11导航栏titleView图层有变化.
iOS 10及以下 自定义titleView会添加在navigationBar上
iOS 11 添加在UINavigationBarContentView上.
iOS11适配
4 回答4.1k 阅读
2 回答1.8k 阅读✓ 已解决
1 回答1.3k 阅读✓ 已解决
1 回答1.8k 阅读✓ 已解决
2 回答1.4k 阅读
1 回答1.2k 阅读
1 回答1.1k 阅读
在iOS11 自定义titleview里有个button,点击事件不触发了.的解决办法如下:
1:在自定义titleview 里重写 intrinsicContentSize 属性,代码如下:
2:然后在 self.navigationItem.titleView = _titleView; 之前加入下面的代码:
CGSizeMake(200, 40); 宽高 自己根据实际情况自己设置具体值就可以了。这样titleview 里的button 应该就可以点击了。