2016-04-07 7 views
19

У меня проблема с выравниванием по левому краю UIButton. Я также попытался изменить его на .Right, но он по-прежнему остается центрированным. Я также попробовал aButton.imageEdgeInsets = UIEdgeInsets(top: 0, left: 20, bottom: 0, right: 0) вместо aButton.titleLabel?.textAlignment = .Left, но это ничего не меняет. Есть ли альтернативный способ программного изменения выравнивания названия UIButton?Неполадка выравнивания UIButton заголовка (iOS/Swift)

 allButtonViews = UIView(frame: CGRectMake(0, 44, 100, 100)) 
     allButtonViews.backgroundColor = .redColor() 

     let campusButton = UIButton(type: UIButtonType.System) as UIButton 
     aButton.frame = CGRectMake(0, 0, 300, 70) 
     aButton.setTitle("A", forState: .Normal) 
     aButton.titleLabel?.textColor = .blueColor() 
     aButton.titleLabel?.textAlignment = .Left 
     aButton.backgroundColor = .whiteColor() 

     sortView.addSubview(aButton) 
     view.addSubview(allButtonViews) 

enter image description here

ответ

58

Попробуйте это:

 button.contentHorizontalAlignment = .Left 
+0

Есть ли какой-либо параметр в Xcode, который бы включил такую ​​же функциональность? – bibscy

+0

Добавить пользовательский атрибут времени выполнения с contentHorizontalAlignment как NSNumber со значением 0-3 для центра, слева, справа и заполнения. – RiverbayChris

+1

.Left был переименован => .left. –

8

Обновлено для Swift 3 или 4 Swift

yourButton.contentHorizontalAlignment = .left 
4

Для Swift 4;

locationButton.contentHorizontalAlignment = .left 
Смежные вопросы