의 왼쪽에서 이메일 주소를 표시해야 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];
답변
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);
답변
코드에서 조정하지 않으려는 경우 인터페이스 빌더를 사용할 수도 있습니다. 여기에 텍스트를 정렬하고 일부를 들여 쓰기했습니다.
버튼으로 이미지를 정렬 할 수도 있습니다. :
답변
스위프트 3 이상에서 :
button.contentHorizontalAlignment = .left
답변
UIButton *btn;
btn.contentVerticalAlignment = UIControlContentVerticalAlignmentTop;
btn.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
답변
스위프트 4+
button.contentHorizontalAlignment = .left
button.contentVerticalAlignment = .top
button.contentEdgeInsets = UIEdgeInsets(top: 10, left: 10, bottom: 10, right: 10)
답변
버튼 내부의 전체 내용 위치를 변경하지 않으려는 경우 emailBtn.titleEdgeInsets
보다 사용하는 것이 좋습니다 contentEdgeInsets
.
답변
그 방법과 그 이유는 다음과 같습니다.
http://cocoathings.blogspot.com/2013/03/how-to-make-uibutton-text-left-or-right.html