今天在写使用UIToobar时遇到的,UIToolBar上添加子空间不响应点击事件,后打开分层看了一眼
多了两层_UIToolbBarContentView和_UIButtonBarStackView阻挡了点击事件
代码如下:
#pragma mark - 设置UI
- (void)setupUI {
[self addSubview:self. toolbar];
[self. toolbar addSubview:self.shareCollectionView];
}
造成这样的原因是因为UIToolBar的层级错乱,要解决iOS11的问题(兼容较低版本),只需在UIToolBar作为UI层次结构的子视图添加后,即可进行layoutSubview。调用[self.topView layoutIfNeeded];
#pragma mark - 设置UI
- (void)setupUI {
[self addSubview:self. toolbar];
//重新布局子view
[self. toolbar layoutIfNeeded];
//在后面再给toolbar添加子空间就没问题了
[self. toolbar addSubview:self.shareCollectionView];
}
参考网址:https://stackoverflow.com/questions/46107640/ios11-uitoolbar-contentview