2015-04-17 60 views
0

我已将CheckBox添加到AlertView中,现在我想将TextField也添加到相同的AlertView中。如何将TextField和CheckBox添加到相同的AlertView中

UIAlertView *alertForExistingCredit = [[UIAlertView alloc] init];   
rememberButton = [[UIButton alloc] init]; 
UIView *v = [[UIView alloc] init]; 
[rememberButton setImage:[UIImage imageNamed:@"PortraitPhoto_Checkbox-Normal.png"] 
forState:UIControlStateNormal]; 
[rememberButton setTitle:@"Save Code" forState:UIControlStateNormal]; 
[rememberButton addTarget:self action:@selector(toggleRememberMethod) forControlEvents:UIControlEventTouchUpInside];    
alertForExistingCredit = [[UIAlertView alloc] initWithTitle:@"PrePay Code" 
    message:@"" 
    delegate:self 
    cancelButtonTitle:kCancelMessage 
    otherButtonTitles:kAlertOkMessage, nil]; 
[v addSubview:rememberButton]; 

如果我使用:

//plain text part 
//   alertForExistingCredit.alertViewStyle = UIAlertViewStylePlainTextInput; 
//   [[alertForExistingCredit textFieldAtIndex:0] setPlaceholder:@"PrePay Code"]; this lines of code it is not showing on the screen 

if (floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_6_1) { 
     v.frame = CGRectMake(0, 0, 250, 40); 
     rememberButton.frame = CGRectMake(0.0, 0, 250, 50.0); 
     [rememberButton setTitleColor:[UIColor blackColor] 
          forState:UIControlStateNormal]; 
     alertForExistingCredit.message = @"Please insert your PrePay code"; 
     [alertForExistingCredit setValue:v forKey:@"accessoryView"] 
    }else { 
     v.frame = CGRectMake(0, 80, 250, 40); 
     rememberButton.frame = CGRectMake(0.0, 0, 250, 40.0); 
     alertForExistingCredit.message = @"Please insert your PrePay code"; 
     [alertForExistingCredit addSubview:v]; 
    } 
    alertForExistingCredit.tag = 0; 
    [alertForExistingCredit show]; 
} 
+0

作为明确的文档化规定['UIAlertView'(https://developer.apple.com/library/prerelease/ios/documentation/UIKit/Reference/UIAlertView_Class/index.html)你不应该更改视图层次结构。所以你将需要创建你自己的视图,你将显示并不应该使用'UIAlertView' – rckoenes

+0

使用自定义视图,并可能从github第三方警报视图 – Wain

+0

try [this](http://stackoverflow.com/questions/20737426 /如何插入-uitextview-into-uialertview-in-ios7)可能对您有所帮助 –

回答

1

尝试将此UITextField添加到v(UIView),并尝试调整帧大小和位置。

 UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(10, 50, 250, 50)]; 
     textField.borderStyle = UITextBorderStyleRoundedRect; 
     textField.font = [UIFont systemFontOfSize:15]; 
     textField.placeholder = @"enter text"; 
     textField.autocorrectionType = UITextAutocorrectionTypeNo; 
     textField.keyboardType = UIKeyboardTypeDefault; 
     textField.returnKeyType = UIReturnKeyDone; 
     textField.clearButtonMode = UITextFieldViewModeWhileEditing; 
     textField.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter; 
     textField.delegate = self; 
     [v addSubview:textField]; 
+0

它的工作原理!谢谢。 :) –

1

添加添加一个子视图到您UIAlertView并把你的按钮成图,请参阅代码为UIView添加到您的UIAlertView

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"TEST" message:@"subview" delegate:nil cancelButtonTitle:@"NO" otherButtonTitles:@"YES", nil]; 
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 80, 40)]; 
[alert setValue:view forKey:@"accessoryView"]; 
// add your button in *view*. 
[alert show]; 
+0

已经试过这个。没有工作... –

相关问题