iOS开发:纯代码设置UIButton文字居左或者居右显示

       UIButton这个控件使用,作为资深的iOS开发人员来说是小儿科,但是有些时候还是需要记录一下UIButton的一些其他用法,这样方便快速解决实际问题。比如UIButton的纯代码编程的时候,设置文字居左显示,这个问题虽然简单的不能再简单,但是一步处理不好,UI效果就达不到,所以虽然问题简单,但是不能马虎大意。
       在分享设置UIButton的文字位置显示之前,先分享一下UILabel的文字位置显示的例子,大牛可以忽略飘过即可,只分享给有需要的群众。具体代码如下:
UILabel *label = [[UILabel alloc] init];
label.frame = CGRectMake(30, 50, 100, 21);
label.text = @“文字居左显示”;
label.textAlignment = NSTextAlignmentLeft;
[self.view addSubview:label];

       看了上面UILabel的例子,是不是觉得UIButton的文字位置设置方法跟UILabel类似呢?答案是肯定的,但是也不是全部一样,废话不多说,直接上代码:
UIButton *button = [[UIButton alloc] init];
[bgView addSubview:button];
[button mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(bgView);
make.right.equalTo(bgView);
make.height.equalTo(@40);
make.center.equalTo(bgView);
}];
[button setTitle:@"国家/地区" forState:UIControlStateNormal];
[button setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
button.backgroundColor = [UIColor lightGrayColor];
       以上是纯代码新建一个UIButton的步骤,那么需求来了,现在需要给UIButton设置文字居左侧显示,那么是不是首先想到的是这样:
button.titleLabel.textAlignment = NSTextAlignmentLeft;


       但是看完运行效果,你会傻眼,怎么没有改变,文字还是原来的默认居中显示。那么,解决方法是,去API里面看UIButton的属性,你会找到UIControlContentHorizontalAlignment,这个枚举类型,然后直接在代码里这样设置:

button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;

       

       然后运行,是不是效果非常明显,直接居最左侧,但是为了符合UI设计标准,你需要再次修改一下文字的位置,具体如下所示:

button.titleEdgeInsets = UIEdgeInsetsMake(0, 10, 0, 0);

       

       这样button的title的位置就达到合适的效果,一切效果以你实际需求来定。UIButton文字居右显示的步骤同上,这里不再介绍说明。


       知识点虽小,但是作用很大,以上就是本节内容,欢迎关注三掌柜的微信公众号,欢迎关注!


猜你喜欢

转载自blog.csdn.net/cc1991_/article/details/80244354