在实际开发中,对于开发者来说,更多的还是使用“自定义”按钮。将“按钮”对象的类型设置成UIButtonTypeCustom。这样一来,按钮的所有元素都将由开发者来配置和自定义。
对于一个自定义按钮来说,他的层次从上到下以此是按钮标题,按钮图片和按钮背景图,
开发者常使用设置标题,图片和背景的三个API进行自定义
-(void)setTitle:(NSString *)title forState:(UIControlState)state -(void)setImage:(UIImage *)image forState:(UIControlState)state -(void)setBackgroundImage:(UIImage *)image forState:(UIControlState)state
1.图片加标题的按钮定义
在如图中edge Inset 区域能够选择的三个候选项中,content代表标题和图片一起设置,而title只代表标题设置,Image只代表图片设置。
现在我们需要针对Title和image分别进行EdgeInset的设置,至于代码的实现方式,仍然通过对Title和Image两者的EdgeInset设置内容,代码如下
[self.aButton setTitleEdgeInsets:UIEdgeInsetsMake(CGFloat top, CGFloat left, CGFloat bottom, CGFloat right)];
[self.aButton setImageEdgeInsets:UIEdgeInsetsMake(CGFloat top, CGFloat left, CGFloat bottom, <#CGFloat right#>)];
其坐标时相对于整个view来说的,也可以在属性中设置INSet的值分别对title和image来达到既有图片又有文字的方式