默认两者的位置是图片在左文字在右
改变他们原理其实很简单,就是利用button自带的两个方法
setTitleEdgeInsets:
setImageEdgeInsets:
后面都跟一个UIEdgeInsets,其中有4个值 上、 左、 下、 右 没错就是 上、 左、 下、 右
真实的作用是在原来的边距值基础上增加或减少某个间距,负值便是减少
如:UIEdgeInsetsMake(0,10,0,-10)
这里就是向左移动10像素,想右移动-10像素,即向左移动了10
本想交换两者的位置,上网查了查有很多,经实验并没有效果,发现获取到的titleLabel.frame.size.width的值为0,上网查证后发现是版本升级问题,
解决方法:
[button setTitle:@"1丶ran"forState:UIControlStateNormal];
[button.titleLabel sizeToFit];
然后可以大胆使用了
参考:
ios - UIButton titleLabel frame size returning CGSize with zero width & height - Stack Overflow
网友评论