我需要从UIButton左侧显示电子邮件地址,但是它位于中间。
有什么办法可以将对齐方式设置到UIButton的左侧?
这是我当前的代码:
UIButton* emailBtn = [[UIButton alloc] initWithFrame:CGRectMake(5,30,250,height+15)];
emailBtn.backgroundColor = [UIColor clearColor];
[emailBtn setTitle:obj2.customerEmail forState:UIControlStateNormal];
emailBtn.titleLabel.font = [UIFont systemFontOfSize:12.5];
[emailBtn setTitleColor:[[[UIColor alloc]initWithRed:0.121 green:0.472 blue:0.823 alpha:1]autorelease] forState:UIControlStateNormal];
[emailBtn addTarget:self action:@selector(emailAction:) forControlEvents:UIControlEventTouchUpInside];
[elementView addSubview:emailBtn];
[emailBtn release];
#1楼
#2楼
如果您不想更改按钮内的整个内容位置,则使用emailBtn.titleEdgeInsets优于contentEdgeInsets 。
#3楼
如果您不想在代码中进行调整,也可以使用界面生成器。 在这里,我使文本左对齐并缩进一些:
不要忘记,您也可以在按钮中对齐图像。
#4楼
UIButton *btn;
btn.contentVerticalAlignment = UIControlContentVerticalAlignmentTop;
btn.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
#5楼
设置contentHorizontalAlignment:
emailBtn.contentHorizontalAlignment = .left;
您可能还需要调整左插图的内容,否则文本将触摸左边框:
emailBtn.contentEdgeInsets = UIEdgeInsetsMake(0, 10, 0, 0);
// Swift 3 and up:
emailBtn.contentEdgeInsets = UIEdgeInsets(top: 0, left: 10, bottom: 0, right: 0);