本文主要是介绍iOS之UIButton的titleEdgeInsets和imageEdgeInsets属性按钮UIButton的常用属性及方法总结(三),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
常见设置:https://www.jianshu.com/p/d23a8234729c
1.文字左边图片右边:
// button标题的偏移量
btn.titleEdgeInsets = UIEdgeInsetsMake(0, -btn.imageView.bounds.size.width+2, 0, self.locationBtn.imageView.bounds.size.width);
// button图片的偏移量
btn.imageEdgeInsets = UIEdgeInsetsMake(0, btn.titleLabel.bounds.size.width, 0, -btn.titleLabel.bounds.size.width);
2.图片上文字下:
/ button标题的偏移量
btn.titleEdgeInsets = UIEdgeInsetsMake(btn.imageView.frame.size.height+5, -sbtn.imageView.bounds.size.width, 0,0);
// button图片的偏移量
btn.imageEdgeInsets = UIEdgeInsetsMake(0, btn.titleLabel.frame.size.width/2, btn.titleLabel.frame.size.height+5, -btn.titleLabel.frame.size.width/2);
设置按钮的内容居中: btn.contentHorizontalAlignment=UIControlContentHorizontalAlignmentCenter;
同时有image和label且在默认情况下,这时候image的上左下边界是相对于button,右边是相对于label的;label的上右下边界是相对于button,左边是相对于image的。
UIEdgeInsetsMake(CGFloat top, CGFloat left, CGFloat bottom, CGFloat right)
(CGFloat top, CGFloat left, CGFloat bottom, CGFloat right)
四个属性分别是对于控件的下边界,右边界,上边界,左边界。
结合上面知识举个例子:
btn.imageEdgeInsets = UIEdgeInsetsMake(0, 5, 0, -5);
UIEdgeInsetsMake(0, 5, 0, -5);
这行代码的意思是对于image来说,下边界和上边界不动,右边界相对于label的左边界向右偏移5,左边界相对于btn的左边界向左偏移-5,也就是向右偏移5。所以可以想象image整体向右偏移5了。
再举个例子:
btn.titleEdgeInsets = UIEdgeInsetsMake(5, -5, -5, 5);
UIEdgeInsetsMake(5, -5, -5, 5);
这行代码的意思是对于label来说,下边界相对于btn的下边界向下偏移5,右边界相对于btn的右边界向右偏移-5,上边界相对于btn的上边界偏移-5,左边界相对于image的右边界向左偏移5。所以可以想象label整体向左偏移5,向下偏移了5。
这篇关于iOS之UIButton的titleEdgeInsets和imageEdgeInsets属性按钮UIButton的常用属性及方法总结(三)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!