一般来说,EdgeInsets属性是用来设置一个Button中的图片和文字之间间距的(切图)。下面列举出来三个属性进行设置:
// 下面三个属性都是用来在Button内部切图用的,top、left、bottom、right是逆时针来看的四个方位,在这四个方位上设置数值,内部某某控件会被切掉,这部分切掉的区域是不能显示内容的。控件也就相应的被挤压显示 // contentEdgeInsets 会影响UIButton内部的所有内容发生位移 shareBtn.cOntentEdgeInsets= UIEdgeInsetsMake(<#CGFloat top#>, <#CGFloat left#>, <#CGFloat bottom#>, <#CGFloat right#>); // titleEdgeInsets 只影响按钮内部的titleLabel shareBtn.titleEdgeInsets = UIEdgeInsetsMake(<#CGFloat top#>, <#CGFloat left#>, <#CGFloat bottom#>, <#CGFloat right#>); // imageEdgeInsets 只影响按钮内部的imageView shareBtn.imageEdgeInsets = UIEdgeInsetsMake(<#CGFloat top#>, <#CGFloat left#>, <#CGFloat bottom#>, <#CGFloat right#>);
上面图片中的按钮在一些app版本更新之后启动时的新版本特性中一般都会存在,这里大家一定要看明白,上面的图片和文字其实都属于一个UIButton的,他们分别是UIButton的image属性和title属性。那么,一般来说image和title之间有点距离会更加合适。我们挑选上面的一个或者多个方法,设置一下:
// 设置shareBtn中 image和title 之间的间距,两个属性各设置7.5,显得更加对称 shareBtn.titleEdgeInsets = UIEdgeInsetsMake(0, 7.5, 0, 0); shareBtn.imageEdgeInsets = UIEdgeInsetsMake(0, 0, 0, 7.5);