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 的中出现这种情况,我们怎么办?这样写又影响性能