2014-09-16 1 views
0

Из-за сбоя с iOS 8, когда клавиатура не открывается автоматически с помощью UIAlertView, моей единственной альтернативой является обновление до UIAlertController. Однако didDismissWithButtonIndex был достаточно гибким, чтобы делать то, что я должен был сделать, тогда как их предлагаемое новое решение не было (как видно из примера ниже). Без didDismissWithButtonIndex я не могу перейти на UIAlertController. Есть ли аналогичное решение, отличное от:UIAlertController не имеет подобной команды didDismissWithButtonIndex

UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:cancelButtonTitle style:UIAlertActionStyleCancel handler:^(UIAlertAction *action) { 
    }]; 

    UIAlertAction *otherAction = [UIAlertAction actionWithTitle:otherButtonTitle style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) { 
    }]; 

    [alertController addAction:cancelAction]; 
    [alertController addAction:otherAction]; 

ответ

0

Нет, как вы это сделали, это единственный способ, которым вы можете. Я рекомендую извлечь общее поведение между двумя действиями в отдельный метод и вызывать этот метод из блоков.

+0

Уверены ли вы? Без подобного метода нет технического пути для перехода на UIAlertController. Это просто недостаточно гибко. Надеюсь, они исправят сбой клавиатуры в 8.0.1 или что-то, потому что моим клиентам придется каждый раз нажимать на клавиатуру, чтобы вводить в нее текст из-за этого сбоя. –

+0

Я не вижу, как 'alertView: didDismissWithButtonIndex:' может делать что-то, что невозможно с использованием нового API. Можете ли вы рассказать об этом? –

+0

Иногда возникают процессы, которые запускаются после отображения вида предупреждения. Многопоточность с помощью alertView: didDismissWithButtonIndex: предотвращает сбой, который я получаю с помощью UIAlertController. –

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