【iOS系列】-UIButton的非常规使用
【iOS系列】-UIButton的非常规使用
主要介绍UIButton在开发中得小技巧,使用好了,可以达到很奇妙的效果。
1:设置按钮内边距属性,可以呈现出相框的效果
btn.contentEdgeInsets = UIEdgeInsetsMake(CGFloat top, CGFloat left, CGFloat bottom, CGFloat right);
2:UIButton展示图片和文本(针对小图标),由于UIButton特殊构造(内部有UIImageView和UILabel),这时我们可以用以下方式来呈现。
//1:第一种实现
btn.enabled = NO;
btn.adjustsImageWhenDisabled;
//2:第二种实现
btn.adjustsImageWhenHighlighted;
3:取出UIButton的相关属性
按钮不仅可以设置相关属性:setTitle,setImage...同样我们还可以根据按钮的状态取出对应的属性值:
//获得按钮的文字
- (NSString *)titleForState:(UIControlState)state;
//获得按钮的文字颜色
- (UIColor *)titleColorForState:(UIControlState)state;
//获得按钮图片
- (UIImage *)imageForState:(UIControlState)state;
//获得按钮的背景图片
- (UIImage *)backgroundImageForState:(UIControlState)state;
这样不方便的话,我们还可以用UIButton的'
currentTitle,currentTitleColor,currentImage,currentBackgroundImage
这些属性来取得当前的属性值。
// 按钮的内部空间默认是居中的,设置按钮的内容左对齐
button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
// 设置按钮的内边距
button.titleEdgeInsets = UIEdgeInsetsMake(0, 10, 0, 0);
button.contentEdgeInsets = UIEdgeInsetsMake(0, 10, 0, 0);