- // button.titleLabel.textAlignment = NSTextAlignmentLeft; 这句无效
- button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
- button.titleEdgeInsets = UIEdgeInsetsMake(0, 10, 0, 0);
在做UI界面的时候一直困惑与如何让button的文字左对齐展示,今天重新遇到。决定彻底解决问题
首先我们会想到以下的代码
button.titleLabel.textAlignment = NSTextAlignmentLeft; 这行代码是没有效果的。这仅仅是让标签中的文本左对齐,但
并没有改变标签在button中的对齐方式。
所以。我们首先要使用
button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft; 这行代码,把按钮的内容(控件)
的对齐方式改动为水平左对齐,可是这们会紧紧靠着左边,不好看,
所以我们还能够改动属性:
button.titleEdgeInsets = UIEdgeInsetsMake(0, 8, 0, 0);
这行代码能够让button的内容(控件)距离左边8个像素。依据自己须要调整。也可为负数(--8)这样就好看多了。希望对大家也有帮助
2015.7.31改动
以下是button和文字上下对齐展示
int origin_Y; origin_Y=64; for (int i=0; i<4; i++) { UIButton *btn = [[UIButton alloc]initWithFrame:CGRectMake(100, origin_Y,50, 50)]; btn.backgroundColor = [UIColor greenColor]; [btn setImage:[UIImage imageNamed:@"bbc"] forState:UIControlStateNormal]; [btn setTitle:@"測试" forState:UIControlStateNormal]; [btn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal]; btn.titleLabel.backgroundColor = [UIColor blueColor]; //btn.contentVerticalAlignment = UIControlContentVerticalAlignmentTop; btn.imageEdgeInsets = UIEdgeInsetsMake(5,10,21,0); btn.titleEdgeInsets = UIEdgeInsetsMake(30,-(btn.frame.size.width-10*2), 0, 0); [btn addTarget:self action:@selector(click) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:btn]; origin_Y+=(btn.frame.size.height+10); }
如有问题欢迎不吝赐教!
时间: 2024-11-06 13:47:52