2016-12-29 2 views
2

Мне нужно добавить флажок в предупреждении, если я должен снова показать это сообщение. Я наткнулся на различные примеры, в которых в контроллере была добавлена ​​кнопка или текстовое поле, но нигде не видно флажка. UIAlertView устарел выше версии 9, поэтому я не хочу его использовать.добавить флажок в UIAlertController

UIAlertController* alert = [UIAlertController alertControllerWithTitle:nil message:@"Should I remind?" preferredStyle:UIAlertControllerStyleAlert]; 

UIAlertAction *yesAction = [UIAlertAction actionWithTitle:@"YES" style:UIAlertActionStyleDefault handler:^(UIAlertAction * action) { 
    [self goToAddReminderView]; 
}]; 
UIAlertAction *noAction = [UIAlertAction actionWithTitle:@"NO" style:UIAlertActionStyleCancel handler:^(UIAlertAction * action) { 
[self.navigationController popViewControllerAnimated:YES]; 
}]; 

[alert addAction:yesAction]; 
[alert addAction:noAction]; 

[self presentViewController:alert animated:YES completion:nil]; 

Я бы извинился за пример.

+1

не поддерживается изначально. необходимо создать свой собственный ui – hridayesh

ответ

6

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

Вы можете попробовать с https://www.cocoacontrols.com/controls/fcalertview и https://www.cocoacontrols.com/controls/cfalertviewcontroller

+0

CFAlertViewController (https://www.cocoacontrols.com/controls/cfalertviewcontroller) очень стабилен и поддерживает множество других полезных функций. –

+0

У CFAlertViewController есть утечка памяти на данный момент. Вам нужно будет дождаться, когда исправление вступит в силу, и новый выпуск. – Efren

1

Вы должны настроить пользовательский интерфейс, как сильфон.

Я только что написал простой фрагмент рабочего кода, и он отлично работает.

func showAlertController() 
    { 
     //simple alert dialog 
     let alertController = UIAlertController(title: "", message: "", preferredStyle: UIAlertControllerStyle.alert); 
     // Add Action 
     alertController.addAction(UIAlertAction(title: "Ok", style: UIAlertActionStyle.cancel, handler: nil)); 
     //show it 
     let btnImage = UIImage(named: "checkBoxImage")! 
     let imageButton : UIButton = UIButton(frame: CGRect(x: 0, y: 0, width: 50, height: 50)) 
     imageButton.setBackgroundImage(btnImage, for: UIControlState()) 
     imageButton.addTarget(self, action: #selector(ViewController.checkBoxAction(_:)), for: .touchUpInside) 
     alertController.view.addSubview(imageButton) 
     self.present(alertController, animated: false, completion: {() -> Void in 

      }) 
    } 


func checkBoxAction(_ sender: UIButton) 
{ 
    if sender.isSelected 
    { 
     sender.isSelected = false 
     let btnImage = UIImage(named: "checkBoxImage")! 
     sender.setBackgroundImage(btnImage, for: UIControlState()) 
    }else { 
     sender.isSelected = true 
     let btnImage = UIImage(named: "unCheckBoxImage")! 
     sender.setBackgroundImage(btnImage, for: UIControlState()) 
    } 
} 
Смежные вопросы