4

私は iOS 8 で導入された新しいものを使用しようとしています。コールバックで常にアラート コントローラーを却下するUIAlertControllerという事実を除いて、すべてがうまく機能します。UIAlertAction以下は私のコードです:

let alert = UIAlertController(title: "New Group", message: "Enter Group name", preferredStyle: UIAlertControllerStyle.Alert);
alert.addTextFieldWithConfigurationHandler({ [weak self] (nameField: UITextField!) in
    nameField.becomeFirstResponder();
    nameField.delegate = self;
    return;
})
alert.addAction(UIAlertAction(title: "Done", style: .Default, handler: { action in
    println("Done Entering");
}));
alert.addAction(UIAlertAction(title: "Cancel", style: .Cancel, handler: nil));
self.presentViewController(alert, animated: true, completion: nil);

ここで、[完了] ボタンをクリックすると、コントロールがコールバック メソッドに入り、アラートを却下するステートメントがなくても、アラートが却下されます。これはデフォルトの動作ですか? はいの場合、状況によってはアラートが画面に表示されたままになるようにするにはどうすればよいですか? ここで何か不足していますか?

これに関して何か助けていただければ幸いです。

4

1 に答える 1

10

はい、アラート ボタンは常にアラートを無視します。それ以外の方法で設定する方法はありません。その動作が必要な場合は、独自のアラートを作成する必要があります。これは通常のアラートと非常によく似ていますが、ボタンがタップされたときにアラートを無視するのを防ぐなど、いくつかの追加機能があります。

ただし、まだ API を使用しておらず、iOS 8 ではアラートUIAlertControllerとは少し異なります (ほとんどのユーザーは気付かないでしょう) 。UIAlertController

編集:UIAlertControllerのような APIがサポートされるようになりました。

于 2014-09-04T19:15:24.347 に答える