iOS11 UIToobar之_UIToolbarContentView随记

今天在写使用UIToobar时遇到的,UIToolBar上添加子空间不响应点击事件,后打开分层看了一眼


iOS11 UIToobar之_UIToolbarContentView随记_第1张图片
WX20171017-180423.png

多了两层_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];
}

iOS11 UIToobar之_UIToolbarContentView随记_第2张图片
WX20171017-181809.png

参考网址:https://stackoverflow.com/questions/46107640/ios11-uitoolbar-contentview

你可能感兴趣的:(iOS11 UIToobar之_UIToolbarContentView随记)