UIEdgeInsetsMake 和 UIEdgeInsetsMake
来源:互联网 发布:java 0x 转换 int 编辑:程序博客网 时间:2024/06/17 19:05
UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom]; btn.frame = CGRectMake(100, 100, <span style="color:#FF0000;">71</span>, 28); btn.backgroundColor = [UIColor blackColor]; [btn setTitle:@"更多" forState:UIControlStateNormal]; btn.layer.cornerRadius = 5; btn.layer.masksToBounds = YES; btn.titleLabel.font = [UIFont systemFontOfSize:14.0f]; //14*14<span id="transmark"></span> 这个是图片大小 [btn setImage:[UIImage imageNamed:@"white_thum<span id="transmark"></span>b.png"] forState:UIControlStateNormal];// btn.imageView.backgroundColor = [UIColor yellowColor];// btn.titleLabel.backgroundColor = [UIColor blueColor]; [self.view addSubview:btn]; CGSize imageSize = btn.imageView.frame.size; //titleSize 有一个神奇的事情 那就是 如果 btn.titleLabel.backgroundColor 有赋颜色值 那么titleSize 才会有值,否则是{0,0} //所以下面 我注释了,计算的时候 就用到了 btn.titleLabel.frame.size.width, 而不是titleSize.width</span>// CGSize titileSize = btn.titleLabel.frame.size; //先算出两边的间距 CGFloat abc = (btn.frame.size.width - btn.titleLabel.frame.size.width - imageSize.width ) / 2; [btn setTitleEdgeInsets:UIEdgeInsetsMake(0, 0, 0, imageSize.width + abc)]; [btn setImageEdgeInsets:UIEdgeInsetsMake(0, abc + btn.titleLabel.frame.size.width, 0, 0)];
下面是 前后对比
偏移之前
偏移之后
0 0
- UIEdgeInsetsMake 和 UIEdgeInsetsMake
- UIEdgeInsetsMake
- 关于UIEdgeInsetsMake
- UIButton UIEdgeInsetsMake
- UIEdgeInsetsMake 顺序
- 关于UIEdgeInsetsMake和运行时的知识
- UIEdgeInsetsMake的作用
- UIEdgeInsetsMake的作用
- UIEdgeInsetsMake的作用
- UIEdgeInsetsMake的使用
- UIEdgeInsetsMake的作用
- UIEdgeInsetsMake详细讲解
- UIEdgeInsetsMake的作用
- UIEdgeInsetsMake的作用
- UIEdgeInsetsMake的作用
- UIEdgeInsetsMake使用详解
- UIEdgeInsetsMake使用详解
- UIEdgeInsetsMake使用详解
- ubuntu安装openssh-server 报依赖错误的解决过程
- 手把手教你:解决pynlpir在ubuntu下不能分词的问题
- 学期项目类图
- 用maven创建web工程遇到的问题
- PreparedStatement不能用来设置表名、字段名
- UIEdgeInsetsMake 和 UIEdgeInsetsMake
- iOS开发学习第二十二课——内存管理
- POJ3067:Japan(树状数组求逆序对)
- 再见初恋
- RedHat Linux 安装JDK、Maven、Jboss
- Android开发之Intent
- 自定义双向动态密码简介
- 基于卷积神经网络的数据预处理以及模型参数保存
- 火狐的旺旺和支付宝控件总是需要反复点击确认?