2014-10-17 3 views
0

Я использую UIAlertController в своем приложении iOS; однако, чтобы сохранить себе дублирующую строку кода, я хочу инициализировать UIAlertController до ветки if/else. т.е.UIAlertController - переопределить ActionSheet по умолчанию?

var alertController = UIAlertController() 

if /* something */ { 
    alert.title = "Hello!" 
} else { 
    alert.title = "Goodbye!" 
} 

//yada yada actions yada yada 

self.presentViewController(alert) 

Однако, в то время как я нашел, что я могу легко установить заголовок и сообщение после того, как тот факт, я не могу показаться, чтобы найти способ, чтобы установить стиль. По умолчанию, похоже, используется ActionSheet, но я действительно хочу оповещения. Я попытался изменить свойство preferredStyle, но, похоже, он доступен только для чтения. Есть ли способ изменить стиль? Для чего это стоит, я нахожусь в последнем iOS 8 SDK и использую Swift.

Спасибо!

ответ

2

Да, preferredStyle может быть установлен только при инициализации.

Вы можете попробовать что-то вроде этого:

var alertController = UIAlertController(title: "", message: "", preferredStyle: .Alert) 

if /* something */ { 
    alert.title = "Hello!" 
} else { 
    alert.title = "Goodbye!" 
} 

//yada yada actions yada yada 

self.presentViewController(alert) 
+0

Блестящая работа вокруг. Спасибо! –

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