0

iOS 7 で UITextField を使用した UIAlertView が機能しません。修正方法は?

スクリーンショットは次のとおりです。

ここに画像の説明を入力 これが私のコードです:

iOS7 の UIAlertView で UITextFeield を取得するにはどうすればよいですか?

-(void)takeUserName
{
        mChangePlayerAlert = [[UIAlertView alloc] init];
        mChangePlayerAlert.title = title; 
        mChangePlayerAlert.message = @"\n";
        mChangePlayerAlert.delegate = self;
        [mChangePlayerAlert addButtonWithTitle:@"Save"];
        [mChangePlayerAlert addButtonWithTitle:@"Cancel"];

        CGRect frame;
        frame = CGRectMake(20, 45, 245, 27);//(200, 500, 400, 120);

        mTextFeild = [[UITextField alloc] initWithFrame:frame];
        mTextFeild.textColor = [UIColor blueColor];
        mTextFeild.borderStyle = UITextBorderStyleRoundedRect;

        mTextFeild.keyboardType = inType;//;
        mTextFeild.returnKeyType = UIReturnKeyDone;
        mTextFeild.autocorrectionType = UITextAutocorrectionTypeNo;
        mTextFeild.autocapitalizationType = UITextAutocapitalizationTypeNone;
        mTextFeild.delegate = self;

        [mChangePlayerAlert addSubview:mTextFeild];

        mTextFeild.delegate = self;
        [mTextFeild becomeFirstResponder];

        [mChangePlayerAlert show];
}
4

4 に答える 4

2

代わりにカスタム アラート ビューを使用して、そこに必要なコンテンツを追加できます:カスタム iOS 7 アラート ビュー

于 2013-09-27T06:05:33.810 に答える
1

上記の答えがうまくいかない場合は、これを試してください

    [txtvwMessage setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight];

一般に、iOS6 から iOS7 への変換では、デザイン コントロールが失われます。そのため、自動サイズ変更の概念が変換に役立ちます

于 2013-09-27T06:04:45.343 に答える
0

これを試して。

- (IBAction)showAlert:(id)sender
{
    UIAlertView *alertView = [[UIAlertView alloc] init];

    switch (((UIButton *)sender).tag)
    {
    // Default Alert View
    case 1001:

        alertView.title = @"Default Alert View";
        alertView.message = @"UIAlertViewStyleDefault";
        [alertView addButtonWithTitle:@"OK"];

        break;

    // Secure Alert View
    case 1002:

        alertView.title = @"Secure Alert View";
        alertView.message = @"UIAlertViewStyleSecureTextInput";
        alertView.alertViewStyle = UIAlertViewStyleSecureTextInput;
        [alertView addButtonWithTitle:@"OK"];
        [alertView addButtonWithTitle:@"Cancel"];

        break;

    // Plain Alert View
    case 1003:

        alertView.title = @"Plain Alert View";
        alertView.message = @"UIAlertViewStylePlainTextInput";
        alertView.alertViewStyle = UIAlertViewStylePlainTextInput;
        [alertView addButtonWithTitle:@"OK"];
        [alertView addButtonWithTitle:@"Cancel"];

        break;

    // Login ALert View
    case 1004:

        alertView.title = @"Login Alert View";
        alertView.alertViewStyle = UIAlertViewStyleLoginAndPasswordInput;
        [alertView addButtonWithTitle:@"OK"];
        [alertView addButtonWithTitle:@"Cancel"];

        break;
   }

   [alertView show];
 }
于 2013-12-13T07:16:51.117 に答える