标签:
今天我们来讲如何让UIButton文字居左显示?我们都应该写过让UILabel的text居左显示。代码也非常简单。
实现文字居左显示代码如下:
UILabel *label = [[UILabel alloc] init];
label.frame = CGRectMake(50, 100, 200, 50);
label.text = @"我是label";
label.textAlignment = NSTextAlignmentLeft;
label.backgroundColor = [UIColor orangeColor];
[self.view addSubview:label];
运行起来看一下效果:
label.backgroundColor = [UIColor orangeColor];设置label的背景颜色方便我们参考。你是不是这样做的。依次类推UIButton也很简单,你肯定能想到。我们来看看。
UIButton *button = [[UIButton alloc] init];
//设置坐标
button.frame = CGRectMake(100, 100, 100, 50);
//设置标题
[button setTitle:@"我是UIButton" forState:UIControlStateNormal];
//设置标题颜色
[button setTitleColor:[UIColor blueColor] forState:UIControlStateNormal];
//设置背景颜色
[button setBackgroundColor:[UIColor orangeColor]];
[self.view addSubview:button];
以上代码是创建一个button,设置坐标、标题、和标题颜色。
按照UILabel文字居左的写法,UIButton应该这么写:
button.titleLabel.textAlignment = NSTextAlignmentLeft;
运行一下看一下效果:
我们发现UIButton的文字还是居中显示。竟然没有居左显示,怎么办呢?进UIButton看看,还有哪些属性。很快发现:
@property(nonatomic) UIControlContentHorizontalAlignment contentHorizontalAlignment; // how to position content hozontally inside control. default is center
typedef NS_ENUM(NSInteger, UIControlContentHorizontalAlignment) {
UIControlContentHorizontalAlignmentCenter = 0,
UIControlContentHorizontalAlignmentLeft = 1,
UIControlContentHorizontalAlignmentRight = 2,
UIControlContentHorizontalAlignmentFill = 3,
};
button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
再次运行起来看效果:
果然可以,是不是看着居左显示很难看,太靠边了。很简单,设置UIButton的titleEdgeInsets属性:
button.titleEdgeInsets = UIEdgeInsetsMake(0, 10, 0, 0);
这样button的title就距左边10个像素的距离。
居右显示就很简单了:
button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentRight;
标签:
原文地址:http://blog.csdn.net/agonie201218/article/details/51354482