2015-07-10 2 views
2

У меня есть мой UIAlertController с предпочтительным стилем ActionSheet, который работает без проблем. Для того, чтобы предотвратить длительную стену кода, я удалил действия в UIAlertAction затворов, и я добавить код:UIAlertController (ActionSheet) меняет форму после установки tintColor

let alert = UIAlertController(title: "More actions", message: nil, preferredStyle: .ActionSheet) 
//alert.view.tintColor = UIColor(red: CGFloat(252.0/255.0), green: CGFloat(112.0/255.0), blue: CGFloat(87.0/255.0), alpha: 1.0) 

alert.addAction(UIAlertAction(title: "Rename", style: .Default, handler: { (action: UIAlertAction!) -> Void in })) 
alert.addAction(UIAlertAction(title: "Move", style: .Default, handler: { (action: UIAlertAction!) -> Void in })) 
alert.addAction(UIAlertAction(title: "Keep offline", style: .Default, handler: { (action: UIAlertAction!) -> Void in })) 
alert.addAction(UIAlertAction(title: "Cancel", style: .Cancel, handler: nil)) 

self.presentViewController(alert, animated: true, completion: nil) 

Этот код работает отлично и результаты в этом:

enter image description here

Однако когда я раскомментирую строку, где я устанавливаю tintColor, я теряю промежуток между кнопками .Default и кнопкой .Cancel:

enter image description here

Есть ли способ предотвратить это, или это следствие некоторых мелких деталей, которые я упускал из виду?

+0

Странно точно. Вопрос: если вы установили цвет оттенка AFTER, чтобы установить другие кнопки .Default все еще происходит? – Aggressor

+0

Я не думал об этом. Оно работает! – Michal

+1

Ya его глупо, что вам нужно даже сделать это плохой дизайн на части яблок – Aggressor

ответ

2

Внимательный взгляд Оттенок должен быть установлен после укладки.

+0

Я помечаю ваш ответ как принятый, потому что вы первыми ответили, хотя это было в комментарии. (Для справок в будущем) – Michal

2

Установка оттенок цвета после кнопки добавляется предупреждение контроллера, кажется, работает:

let alert = UIAlertController(title: "More actions", message: nil, preferredStyle: .ActionSheet) 

alert.addAction(UIAlertAction(title: "Rename", style: .Default, handler: { (action: UIAlertAction!) -> Void in })) 
alert.addAction(UIAlertAction(title: "Move", style: .Default, handler: { (action: UIAlertAction!) -> Void in })) 
alert.addAction(UIAlertAction(title: "Keep offline", style: .Default, handler: { (action: UIAlertAction!) -> Void in })) 
alert.addAction(UIAlertAction(title: "Cancel", style: .Cancel, handler: nil)) 

alert.view.tintColor = UIColor(red: CGFloat(252.0/255.0), green: CGFloat(112.0/255.0), blue: CGFloat(87.0/255.0), alpha: 1.0) 

self.presentViewController(alert, animated: true, completion: nil) 
+0

Действительно! – Michal

Смежные вопросы