您的位置:首页 > 产品设计 > UI/UE

UIButton文字居左显示

2016-05-09 17:09 375 查看
今天我们来讲如何让UIButton文字居左显示?我们都应该写过让UILabel的text居左显示。代码也非常简单。


UILabel文字居左显示

实现文字居左显示代码如下:
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文字居左显示


创建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,
};

[/code]


设置contentHorizontalAlignment

button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;


再次运行起来看效果:



果然可以,是不是看着居左显示很难看,太靠边了。很简单,设置UIButton的titleEdgeInsets属性:
button.titleEdgeInsets = UIEdgeInsetsMake(0, 10, 0, 0);


这样button的title就距左边10个像素的距离。

居右显示就很简单了:
button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentRight;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: