Двухкнопочный UIAlertview с одной кнопкой с тегом — Swift

У меня есть UIAlertView в Swift в XCode, и я хотел бы иметь две кнопки: одну, которая отклоняет предупреждение, и другую, которую я могу пометить, чтобы она открывала другой ViewController. Сейчас обе кнопки помечены, и я просто хочу пометить одну.

            var alertview:UIAlertView = UIAlertView()
        alertview.title = "Error!"
        alertview.message = "You will need to do this before proceeding."
        alertview.delegate = self
        alertview.addButtonWithTitle("OK")
        alertview.addButtonWithTitle("Not now")

        alertview.tag = 888
        alertview.show()
    }

person Bob Smith    schedule 07.03.2015    source источник


Ответы (1)


  1. Не делайте этого с тегами.
  2. Не делайте этого с UIAlertView, если вы ориентируетесь на iOS8 и более поздние версии.

UIAlertController — это замена UIAlertView, которая предоставляет вам современный блочный синтаксис для добавления действий в оповещение. Используйте это вместо этого. У действия отмены просто нет обработчика.

Если вы все еще должны использовать UIAlertView, вы выполняете действия на основе индекса нажатых кнопок, а кнопка отмены имеет определенное местоположение (поэтому у вас есть специальный инициализатор с заголовком кнопки отмены и названиями других кнопок). Затем вы обрабатываете нажатия кнопок в методе делегата.

person jrturton    schedule 07.03.2015