UIButton 特之属性

1、UIButton标题居左

对齐方式默认为居中,在自定义为左对齐时发现,方法并没有生效:

button.titleLabel.textAlignment = UITextAlignmentLeft;

正确的做法应该是:

[button setContentHorizontalAlignment:UIControlContentHorizontalAlignmentLeft];

另外通过SetTitleEdgeInsets 进行调整

[button setTitleEdgeInsets:UIEdgeInsetsMake(0, 10, 0, 0)];

ps:UIControlContentHorizontalAlignment


typedef NS_ENUM(NSInteger, UIControlContentHorizontalAlignment) {
    UIControlContentHorizontalAlignmentCenter = 0,
    UIControlContentHorizontalAlignmentLeft   = 1,
    UIControlContentHorizontalAlignmentRight  = 2,
    UIControlContentHorizontalAlignmentFill   = 3,
};

**2、titleEdgeInsets & imageEdgeInsets **

很多时候,在我们设置 UIButton 的时候很方便设置它的图片和 文字位置。

@property(nonatomic) UIEdgeInsets titleEdgeInsets; // default is UIEdgeInsetsZero
@property(nonatomic) UIEdgeInsets imageEdgeInsets; // default is UIEdgeInsetsZero
top : 为正数的时候,是往下偏移,为负数的时候往上偏移;
left : 为正数的时候往右偏移,为负数的时候往左偏移;
bottom : 为正数的时候往上偏移,为负数的时候往下偏移;
right :为正数的时候往左偏移,为负数的时候往右偏移;

3、UIButton 点击取消高亮

[button setAdjustsImageWhenHighlighted:NO];

adjustsImageWhenHighlighted 决定当按钮是高亮状态时是否进行反向渲染 ,默认为YES 。

4、UIButton 点击时发亮

button.showsTouchWhenHighlighted = YES;

showsTouchWhenHighlighted默认为 NO,在某些特定情况下用。

**5、 UIButton 被禁用的时候展现灰色 **

button.adjustsImageWhenDisabled = NO;

通常和 button.enabled = NO; 一起用,像 UIBarButtonItem 的按钮直接设置 enabled 为 NO ,就等于上述效果啦。

6、UIButton 如何画圆角

// 一般的情况下,我们可以这样
 button.layer.cornerRadius = 5.0;
 button.layer.masksToBounds = YES;

但是在UITableView 的中出现这种情况,我们怎么办?这样写又影响性能

备注:UIButton 的不常用属性继续添加中····

你可能感兴趣的:(UIButton 特之属性)