UIAlertView中的Uitext字段选择iOS



我在UIAlertView中有三个UITextfields,而点击一个UITextfield并试图点击另一个,它没有选择并产生问题,也是辞职第一响应者的问题,在UIAlertView 中使用UITextfield不是一个好选择吗

- (IBAction)heightMethod:(id)sender
{
    self.centimeterTextField = [[UITextField alloc] initWithFrame:CGRectMake(12.0, 45.0, 260.0, 25.0)];
    centimeterTextField.placeholder = @"  Centimeters";
    self.centimeterTextField.delegate=self;
    self.centimeterTextField.tag=3;
   [ self.centimeterTextField setBackgroundColor:[UIColor whiteColor]];
   [self.alertHeight addSubview: self.centimeterTextField];
    self.ptextfield = [[UITextField alloc] initWithFrame:CGRectMake(40, 80.0, 80, 25.0)]; ptextfield.placeholder = @"   Feet";
    self.ptextfield.delegate=self;
    self.ptextfield.tag=4;
    [self.ptextfield setBackgroundColor:[UIColor whiteColor]];
    [self.alertHeight addSubview:self.ptextfield];
    self.ptextfieldInches = [[UITextField alloc] initWithFrame:CGRectMake(140, 80.0, 80, 25.0)]; ptextfieldInches.placeholder = @"   Inches";
    self.ptextfieldInches.delegate=self;
    self.ptextfieldInches.tag=5;
  [ptextfieldInches setBackgroundColor:[UIColor whiteColor]];
    [self.alertHeight addSubview:ptextfieldInches];
   [self.centimeterTextField setKeyboardType:UIKeyboardTypeDecimalPad];
    [self.ptextfieldInches setKeyboardType:UIKeyboardTypeDecimalPad];
    [self.ptextfield setKeyboardType:UIKeyboardTypeDecimalPad];
     self.alertHeight.tag=1;
   [self.alertHeight show];  
}
- (void) presentSheet {
UIAlertView *alert = [[UIAlertView alloc]initWithTitle: @"Enter Information"
message:@"Specify the Name and URL" delegate:self cancelButtonTitle:@"Cancel"otherButtonTitles:@"OK", nil];
[alert addTextFieldWithValue:@"" label:@"Enter Name"]; 
[alert addTextFieldWithValue:@"http://" label:@"Enter URL"];
UITextField *tf = [alert textFieldAtIndex:0];
 tf.clearButtonMode = UITextFieldViewModeWhileEditing;
 tf.keyboardType = UIKeyboardTypeAlphabet; 
 tf.keyboardAppearance = UIKeyboardAppearanceAlert;
 tf.autocapitalizationType = UITextAutocapitalizationTypeWords;
 tf.autocorrectionType = UITextAutocorrectionTypeNo;
// URL field
 tf = [alert textFieldAtIndex:1];
tf.clearButtonMode = UITextFieldViewModeWhileEditing; tf.keyboardType =  UIKeyboardTypeURL;
tf.keyboardAppearance = UIKeyboardAppearanceAlert; tf.autocapitalizationType =  UITextAutocapitalizationTypeNone; tf.autocorrectionType = UITextAutocorrectionTypeNo;
[alert show]; 
} 

您现在可以创建一个具有样式的UIAlertView。

UIAlertView现在有一个属性-alerViewStyle,您可以将其设置为枚举值之一

1.UIAlertViewStyleDefault

2.UIAlertViewStyleSecureTextInput

3.UIAlertViewStyleLainTextInput

4.UIAlertViewStyleLoginAndPasswordInput

创建警报视图后,可以设置其样式并显示它。解除警报后,可以使用警报视图的textFieldAtIndex属性访问字段的内容。

或者你也可以用这个。,

IAlertView* dialog = [[UIAlertView alloc] init];
[dialog setDelegate:self];
[dialog setTitle:@"Enter Name"];
[dialog setMessage:@" "];
[dialog addButtonWithTitle:@"Cancel"];
[dialog addButtonWithTitle:@"OK"];
UITextField *nameField = [[UITextField alloc] initWithFrame:CGRectMake(20.0, 45.0, 245.0, 25.0)];
[nameField setBackgroundColor:[UIColor whiteColor]];
[dialog addSubview:nameField];
CGAffineTransform moveUp = CGAffineTransformMakeTranslation(0.0, 70.0);
[dialog setTransform: moveUp];
[dialog show];
[dialog release];
[nameField release];

希望这些信息能有所帮助。非常感谢。

最新更新