iOS 15 中使用UIButton遇到的问题

在实现左字右图的需求时发现一下代码在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。通过以下代码可以更直观的实现按钮内布局

UIButtonConfiguration *detailBtnConfig = [UIButtonConfiguration plainButtonConfiguration];
detailBtnConfig.contentInsets = NSDirectionalEdgeInsetsMake(0, 0, 0, 0);
detailBtnConfig.imagePlacement = NSDirectionalRectEdgeTrailing;
detailBtnConfig.imagePadding=4.5;
self.detailBtn.configuration= detailBtnConfig;

继而发现在iOS15中按钮文字和图片消失,进入其他界面返回后才出现。经研究发现为xib中设置了style 为plain,改为default后正常显示

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在开发中经常会遇到一些问题,刚开始感觉匪夷所思,但是当你真正探究,理解了就会发现确实如此。 19、translat...
    魔性佛心阅读 5,211评论 1 4
  • 最近开发的时候,发现在xib上使用UIButton老是不对劲 会出现按钮的字体设置了无效,或者跳到下一个页面再回来...
    黑鱼仔阅读 9,145评论 0 8
  • 用到的组件 1、通过CocoaPods安装 2、第三方类库安装 3、第三方服务 友盟社会化分享组件 友盟用户反馈 ...
    SunnyLeong阅读 14,950评论 1 180
  • 未完,待更新 一、必备题 1、AFN 原理 链接:AFNetworking源码——基本架构 - 简书 2、SDWe...
    小熊_07cb阅读 7,880评论 3 27
  • 16宿命:用概率思维提高你的胜算 以前的我是风险厌恶者,不喜欢去冒险,但是人生放弃了冒险,也就放弃了无数的可能。 ...
    yichen大刀阅读 11,292评论 0 4