[objective-c] UIButton의 제목을 왼쪽 맞춤으로 설정하는 방법은 무엇입니까?

의 왼쪽에서 이메일 주소를 표시해야 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);


답변

코드에서 조정하지 않으려는 경우 인터페이스 빌더를 사용할 수도 있습니다. 여기에 텍스트를 정렬하고 일부를 들여 쓰기했습니다.

IB의 UIButton

버튼으로 이미지를 정렬 할 수도 있습니다. :

여기에 이미지 설명을 입력하십시오


답변

스위프트 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