在實現(xiàn)左字右圖的需求時發(fā)現(xiàn)一下代碼在iOS15中失效
[self.detailBtn setTitleEdgeInsets:UIEdgeInsetsMake(0, -self.detailBtn.imageView.image.size.width-2, 0, self.detailBtn.imageView.image.size.width+2)];
[self.detailBtn setImageEdgeInsets:UIEdgeInsetsMake(0, self.detailBtn.titleLabel.bounds.size.width+2, 0, -self.detailBtn.titleLabel.bounds.size.width-2)];
研究得知iOS15中引入了UIButtonConfiguration。通過以下代碼可以更直觀的實現(xiàn)按鈕內(nèi)布局
UIButtonConfiguration *detailBtnConfig = [UIButtonConfiguration plainButtonConfiguration];
detailBtnConfig.contentInsets = NSDirectionalEdgeInsetsMake(0, 0, 0, 0);
detailBtnConfig.imagePlacement = NSDirectionalRectEdgeTrailing;
detailBtnConfig.imagePadding=4.5;
self.detailBtn.configuration= detailBtnConfig;
繼而發(fā)現(xiàn)在iOS15中按鈕文字和圖片消失,進入其他界面返回后才出現(xiàn)。經(jīng)研究發(fā)現(xiàn)為xib中設(shè)置了style 為plain,改為default后正常顯示