2014-03-20 3 views
0

Я хочу, чтобы пользователь не мог нажать кнопку отмены на UIAlertView, но я все еще хочу, чтобы он был там, но затенен. Я знаю, что есть функция shouldEnableFirstButton, но она не включает кнопку отмены. У вас есть идеи, как это сделать?iOS - alertView shouldEnableFirstButton

Спасибо.

+0

'UIAlertView' не поддерживает возможность отключить кнопку «Отмена». – rmaddy

+0

Зачем вам это нужно? – rmaddy

+0

Я делаю приложение, которое запускает учебник при первом открытии. Часть учебника состоит в том, что вы должны что-то заполнять в 'UIAlertView', но, поскольку я не хочу, чтобы пользователь вышел во время учебного курса, я должен затмить кнопку отмены. Конечно, я мог бы просто открыть новый UIAlertView, если он будет закрыт, но это было бы не так уж хорошо. Есть ли способ создать пользовательский 'UIAlertView'? – Sam

ответ

1

Используйте следующее:

UIAlertView *vw = [[UIAlertView alloc] initWithTitle:@"Information" message:@"This is a message" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:@"Cancel", nil]; 
    [vw show]; 

Таким образом, по существу, вы настраиваете "Отмена", как другие кнопки.

Теперь, следующий будет решить вашу проблему:

- (BOOL)alertViewShouldEnableFirstOtherButton:(UIAlertView *)alertView 
{ 
    return NO; 
} 

Если вы хотите выполнить какое-либо действие в ОК нажатием кнопки вы всегда можете сделать это здесь:

- (void)alertViewCancel:(UIAlertView *)alertView 
+0

Есть ли способ, которым кнопка «Отмена» будет слева, а не справа? – Sam

+0

@ user2874028 Это трюк, который мы играем. В представлении предупреждения известно, что левая кнопка будет Cancel, поэтому не думайте, что мы можем поместить ее влево. Сожалею. –

+0

Ох .. Спасибо за ваши усилия, но это действительно не решает мою проблему. – Sam

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