1

アラートビューにテキストフィールドを追加するにはどうすればよいですか? アプリが編集をコミットする前に、ユーザーが上記のアラートビューでパスワードを入力して最初に認証する必要があるアプリを実行しようとしていますが、どうすればこれを行うことができますか? 検索したコードが機能しなくなったようです。ここにあります:

  UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Log In" message:@"Please enter your Password" delegate:self cancelButtonTitle:@"Log In" otherButtonTitles:@"Cancel", nil];
    [alert addTextFieldWithValue:@"" label:@"Password"];
    UITextField *tf = [alert textFieldAtIndex:0];
    tf.clearButtonMode = UITextFieldViewModeWhileEditing;
    tf.keyboardType = UIKeyboardTypeAlphabet;
    tf.keyboardAppearance = UIKeyboardAppearanceAlert;
    tf.autocapitalizationType = UITextAutocapitalizationTypeWords;
    tf.autocapitalizationType = UITextAutocorrectionTypeNo;

エラーは言った

 "No visible @interface for 'UIAlertView' 
 declares the selector 'addTextFieldWithValue:label:'" 
 on the [alert addTextFieldWithValue:@"" label:@"Password"];

また、alertview の [確認] ボタンにコードを配置する方法についてもお尋ねしたいと思います。

4

2 に答える 2

9
alert.alertViewStyle = UIAlertViewStylePlainTextInput;

または、安全にする必要がある場合(パスワード用)

alert.alertViewStyle = UIAlertViewStyleSecureTextInput;

編集:

「確認ボタンにコードを配置する」とはどういう意味か 100% はわかりませんが、確認ボタンを押したのかキャンセルボタンを押したのかを知りたい場合は、実装するだけで済みます

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
    //check the button index and do something if it's the right one.
}
于 2013-01-31T02:32:58.153 に答える
0

textField をアラート ビューに追加する (Swift):

    let pincodeAlert:UIAlertController = UIAlertController(title: "Hello", message: "Enter a new passcode", preferredStyle: UIAlertControllerStyle.Alert)
           pincodeAlert.addTextFieldWithConfigurationHandler({ (pinCodeTextField:UITextField!) -> Void in
            pinCodeTextField.placeholder = "password"
            pinCodeTextField.secureTextEntry = true
           })
    //Add the textField       
    pincodeAlert.addTextFieldWithConfigurationHandler({ (pinCodeTextField2:UITextField!) -> Void in
            pinCodeTextField2.placeholder = "Confirm password"
            pinCodeTextField2.secureTextEntry = true
           })

    pincodeAlert.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.Default, handler: { (action) -> Void in
                //check entered passcodes
                }))
                pincodeAlert.addAction(UIAlertAction(title: "Cancel", style: UIAlertActionStyle.Cancel, handler: nil))
                presentViewController(pincodeAlert, animated: true, completion: nil)

checkBoxes のデータをチェックするには、これを「OK」アクション ハンドラに追加します。

let passcodeEntered:String = (pincodeAlert.textFields?.first as UITextField).text
于 2015-01-08T11:56:51.857 に答える