iOS UIButton 图片和文字布局调整

本文探讨了UIButton图片与文字布局的问题,并提供了三种解决方案:自定义视图、自定义UIButton以及调整UIButton的EdgeInsets属性。最终推荐了一种简洁高效的代码实现方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

image_icon.png
image_icon.png

描述:

  • a. 项目中经常会遇到图片在上,文字在下的这种布局样式(整体的布局你可以采用 UICollectionView,也可采用 for 循环创建 UIButton,但 UIButton 你需要自行处理)
  • b. 之前我的做法是通过自定义 UIButton,在 -layoutSubviews 方法中,调整 imageView 与 titleLabel 的 frame

解决这种问题的方法大致有 3 种:

  • a. 自定义一个视图,使用 UIImageView 和 UILabel 进行布局调整
  • b. 自定义 UIButton,就像我之前一样,在 UIButton 的 - (void)layoutSubviews,方法中调整 imageView 与 titleLabel 的 frame 即可
  • c. 调整 UIButton 的 imageEdgeInsets 与 titleEdgeInsets 属性即可

方法分析

  • a. 第一种方案:我是压根不会采取的,很麻烦,完全没有必要这样做;苹果既然提供了 UIButton 且属性中有解决方案,为何还要麻烦呢?
  • b. 第二种方案:我之前一直这样用的,但现在不想用了;很简单,还需要自定义 UIButton,在内部调整 imageView 与 titleLabel 的 frame;而我仅仅想调整一下 UIButton 的 imageView 与 titleLabel 布局而已,何必兴师动众的再去自定义一个 UIButton 呢?给 UIButton 添加一个分类,拓展一个方法,岂不是更好?
  • c. 第三种方案:在开始解决问题之前,还是需要查阅一下资料,毕竟网友的力量是强大的且是我最好的老师。但经过一番查阅之后,所得到的资料都不是我想要的,我想要什么?满足三要素即可:最简单的思路、最简洁的代码、最高效的方法;而我搜索的博客以及 GitHub 上面的代码都不满足我的三要素,都不是我想要的那个梗。难道就没有了吗?这是不可能的,最后看到了这篇文章;我知道,我因为这个小问题查阅资料所花费的时间是值得的;对,没错,就是她

最后提供一下我的解决方案(前面都是废话,可以略去昂,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值