UIButton通过UIEdgeInsetsMake设置image和title的位置
来源:互联网 发布:跳跃网络次元大作战 编辑:程序博客网 时间:2024/05/20 00:13
使用UIEdgeInsetsMake(<#CGFloat top#>, <#CGFloat left#>, <#CGFloat bottom#>, <#CGFloat right#>)函数时,需要设置4个值:
若只setTitle或setImage,其四个坐标的位置是相对于button的。
这里主要讨论同时使用setTitle、setImage的情况,此时的四个坐标是相对于image或Title的。
在不设置UIEdgeInsetsMake时,button中默认的image和titleLabel位置如下:
现在我们想把酒店两个字放在图下边,主要分为三步:
先保留image的大小:
CGSize imageSize = [UIImage imageNamed:@"imageName"].size;
1.将image和titleLabel都移至中垂线上,image右移titleLabel的宽度(buttonName.titleLabel.width),titleLabel左移image的宽度(imageSize.width)。
//四个坐标分别对应(上,左,下,右)
[categoryButton setTitleEdgeInsets:UIEdgeInsetsMake(0, -imageSize.width, 0, 0)];
[categoryButton setImageEdgeInsets:UIEdgeInsetsMake(0, 0, 0,-buttonName.titleLabel.width)];
此时image和title重叠在一起,它们都位于button中轴线上,现在只需下移title即可。
2.下移title,若想要title的上边缘刚好与image的下边缘接轨,则需下移imageSize.height+buttonName.titleLabel.height,将上面的代码改为:
[categoryButton setTitleEdgeInsets:UIEdgeInsetsMake(0, -imageSize.width, -titleLabelSize.height-imageSize.height, 0)];[categoryButton setImageEdgeInsets:UIEdgeInsetsMake(0, 0, 0, -titleLabelSize.width)];
3.此时image和title已经大致模样已经出来了,只需再调整至button水平方向的中轴线上,即整体上移,改写代码:
CGFloat moveTopHeight = (buttonHight - imageSize.height - titleLabelSize.height)/2;
[categoryButton setTitleEdgeInsets:UIEdgeInsetsMake(-moveTopHeight, -imageSize.width, -titleLabelSize.height-imageSize.height, 0)];[categoryButton setImageEdgeInsets:UIEdgeInsetsMake(-moveTopHeight, 0, 0, -titleLabelSize.width)];
0 0
- UIButton通过UIEdgeInsetsMake设置image和title的位置
- UIButton 的 image 和title 位置设置
- 设置UIButton的image title 位置
- 自定义UIButton的title和image位置
- UIButton 调整title和image的位置
- [iOS]详解调整UIButton的title和image的位置
- iOS-调整UIButton的title和image的位置
- 详解调整UIButton的title和image的位置
- UIButton上image和title的位置调整
- iOS 自定义UIButton的title和image位置
- iOS自定义UIButton的Image和Title位置
- UIEdgeInsetsMake设置UIButton的图片、文字的相对位置
- UIButton 设置 image 和 title 的布局问题
- 使用UIButton设置title和image,达到tabBarItem的效果
- UIButton 设置image ,title和setBackgroundImage
- UIButton 设置title位置
- 设置UIButton中title的位置
- 如何设置UIButton中title的位置
- LeetCode: Gas Station
- 二进制补码
- UVA 10319 - Manhattan(2-SET)
- Android RGB颜色对照表
- 苹果Swift语言入门教程(摘自百度经验)
- UIButton通过UIEdgeInsetsMake设置image和title的位置
- Android 应用程序发布流程---碗豆荚发布流程
- myeclipse 项目报错
- 如何在同一台电脑使用不同的账号提交到同一个github仓库
- random python
- 2048
- spring组件扫描<context:component-scan/>使用详解 .
- ACM 222. [POI1997] 便宜的旅行(dp)
- 【Android】 RGB颜色对照表