IB를 중심으로 사용하여 UIButton의 제목을 설정할 수 없습니다. 내 제목은 여러 줄입니다.
이렇게해서
하지만 난 이걸 좋아해
나는 이것에 공간을 주었지만 그렇게하고 싶지 않습니다. 어떤 경우에는 정확하게 정렬되지 않고 정렬을 설정하는 UILabel 속성이 있지만 그 코드를 작성하고 싶지 않습니다. IB에서 모든 것을 설정하고 싶습니다.
감사
IB를 중심으로 사용하여 UIButton의 제목을 설정할 수 없습니다. 내 제목은 여러 줄입니다.
이렇게해서
하지만 난 이걸 좋아해
나는 이것에 공간을 주었지만 그렇게하고 싶지 않습니다. 어떤 경우에는 정확하게 정렬되지 않고 정렬을 설정하는 UILabel 속성이 있지만 그 코드를 작성하고 싶지 않습니다. IB에서 모든 것을 설정하고 싶습니다.
감사
답변:
이것은 정확히 당신이 기대했던 것을 만들 것입니다 :
목표 -C :
[myButton.titleLabel setTextAlignment:UITextAlignmentCenter];
iOS 6 이상의 경우
[myButton.titleLabel setTextAlignment: NSTextAlignmentCenter];
tyler53의 답변에 설명 된 대로
빠른:
myButton.titleLabel?.textAlignment = NSTextAlignment.Center
스위프트 4.x 이상
myButton.titleLabel?.textAlignment = .center
myButton.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter;
라인을 사용하십시오 :
myButton.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter;
내용을 가로로 배치해야합니다.
레이블 내부의 텍스트를 가운데로 설정하려면 다음을 사용하십시오.
[labelOne setTextAlignment:UITextAlignmentCenter];
IB를 사용하려면 XCode 4에 링크 된 작은 예제가 있지만 세부 정보를 충분히 제공해야합니다 (또한 속성 화면 위에 속성 탭이 표시됩니다. XCode에서 동일한 탭을 찾을 수 있습니다) 3.x) :
스토리 보드에서 키 경로를 설정할 수 있습니다
텍스트를 여러 줄 제목으로 설정하십시오 (예 : hello
⌥ +↵ multiline
텍스트를 다음 줄로 이동 하려면 ⌥ + 를 눌러야 ↵합니다.
그런 다음 키 경로를 추가하십시오.
titleLabel.textAlignment
같은 Number
가치 1
, 1
수단 NSTextAlignmentCenter
titleLabel.numberOfLines
등의 Number
가치는 0
, 0
라인의 수를 의미
이것은 IB / Xcode에는 반영되지 않지만 런타임 (장치 / 시뮬레이터) 중앙에 있습니다.
Xcode의 변경 사항을 보려면 다음을 수행해야합니다. (이 단계를 건너 뛸 수 있음을 기억하십시오)
버튼을 디자인 할 수 있도록 UIButton을 서브 클래 싱하십시오.
import UIKit
@IBDesignable class UIDesignableButton: UIButton {}
이 디자인 가능한 서브 클래스를 수정중인 버튼에 할당하십시오.
코드를 작성하려면 긴 프로세스를 수행하십시오.
1. IBOutlet
버튼 2를
만듭니다. viewDidLoad에서 코드 작성
btn.titleLabel.textAlignment = .Center
btn.titleLabel.numberOfLines = 0
엑스 코드의 최신 버전에서 우리는 특성에 기인 제목이 (광산은 엑스 코드 6.1)
을 선택 Attributed
후 아래의 텍스트 및 프레스 센터 옵션을 선택합니다
추신 : 텍스트가 여러 줄로 나오지 않아서
btn.titleLabel.numberOfLines = 0
Line Breaking = Clip
하면 텍스트가
btn.titleLabel.textAlignment
훌륭하게 작동합니다.
iOS 8 및 Swift
btn.titleLabel.textAlignment = NSTextAlignment.Center
또는
btn.titleLabel.textAlignment = .Center
스위프트 4, xcode 9
myButton.contentHorizontalAlignment = .center
btn이 UIButton을 참조한다고 가정하면 여러 줄 캡션이 가로로 가운데에 오도록 변경하려면 iOS 6 이상에서 다음 명령문을 사용할 수 있습니다.
self.btn.titleLabel.textAlignment = NSTextAlignmentCenter;
UITextAlignmentCenter
iOS6에서 더 이상 사용되지 않습니다.
대신이 코드를 사용할 수 있습니다.
btn.titleLabel.textAlignment=NSTextAlinmentCenter;
스위프트 3.0
btn.titleLabel?.textAlignment = .center
스위프트 4의 경우 :
@IBAction func myButton(sender: AnyObject) {
sender.titleLabel?.textAlignment = NSTextAlignment.center
sender.setTitle("Some centered String", for:UIControlState.normal)
}
실제로 인터페이스 빌더에서 할 수 있습니다.
제목을 "속성"으로 설정 한 다음 가운데 정렬을 선택해야합니다.
스토리 보드에서이 작업을 수행 할 수 있습니다. 버튼을 선택하십시오. 줄 바꿈 'Word Wrap'을 설정하고 제목 'Plain'을 'Attributed'로 설정하십시오. '중심 정렬'을 선택하십시오. 이 부분은 중요합니다 => 클릭 ... (더보기) 버튼. 그리고 줄 바꿈 모드를 '문자 줄 바꿈'으로 선택하십시오.
UIButton은 setTextAlignment를 지원하지 않습니다. 따라서 버튼 텍스트 정렬을 위해서는 setContentHorizontalAlignment를 사용해야합니다.
당신의 참고를 위해
[buttonName setContentHorizontalAlignment:UIControlContentHorizontalAlignmentCenter];
self.yourButton.titleLabel.textAlignment = UITextAlignmentCenter;