今天在寫使用UIToobar時遇到的,UIToolBar上添加子空間不響應(yīng)點(diǎn)擊事件,后打開分層看了一眼
WX20171017-180423.png
多了兩層_UIToolbBarContentView和_UIButtonBarStackView阻擋了點(diǎn)擊事件
代碼如下:
#pragma mark - 設(shè)置UI
- (void)setupUI {
[self addSubview:self. toolbar];
[self. toolbar addSubview:self.shareCollectionView];
}
造成這樣的原因是因?yàn)閁IToolBar的層級錯亂,要解決iOS11的問題(兼容較低版本),只需在UIToolBar作為UI層次結(jié)構(gòu)的子視圖添加后,即可進(jìn)行l(wèi)ayoutSubview。調(diào)用[self.topView layoutIfNeeded];
#pragma mark - 設(shè)置UI
- (void)setupUI {
[self addSubview:self. toolbar];
//重新布局子view
[self. toolbar layoutIfNeeded];
//在后面再給toolbar添加子空間就沒問題了
[self. toolbar addSubview:self.shareCollectionView];
}
WX20171017-181809.png
參考網(wǎng)址:https://stackoverflow.com/questions/46107640/ios11-uitoolbar-contentview