在警报上更改登录和密码的占位符?

时间:2014-07-04 16:13:52

标签: objective-c uitextfield uialertview

我有一个提醒,我有两个文本字段。我可以激活它,但占位符是登录,然后是密码。我设置它们,所以我希望它们成为我设置它们的目的。

这是怎么做到的?

CODE:

- (void)newPlaneClicked:(id)sender {
    UIAlertView *newPlaneAlert = [[UIAlertView alloc]initWithTitle:@"FlightLog Pro" message:@"Enter tail number and make/model:"delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"Save", nil];
    [newPlaneAlert setAlertViewStyle:UIAlertViewStyleLoginAndPasswordInput];
    UITextField *enterNewPlaneTail = [[UITextField alloc]init];

    [enterNewPlaneTail setPlaceholder:@"Click to enter a make/model."];
    [[newPlaneAlert textFieldAtIndex:0] setSecureTextEntry:NO];
    enterNewPlaneTail = [newPlaneAlert textFieldAtIndex:0];

    UITextField *enterNewPlaneMM = [[UITextField alloc]init];
    [[newPlaneAlert textFieldAtIndex:1] setSecureTextEntry:NO];

    [enterNewPlaneMM setPlaceholder:@"Click to enter a plane tail number."];
    enterNewPlaneMM.placeholder = @"Click to enter plane tail number.";
    enterNewPlaneMM = [newPlaneAlert textFieldAtIndex:1];
    [newPlaneAlert textFieldAtIndex:0].autocapitalizationType = UITextAutocapitalizationTypeSentences;
    [newPlaneAlert textFieldAtIndex:0].autocorrectionType = YES;

    [newPlaneAlert show];

}

1 个答案:

答案 0 :(得分:1)

在您的代码中,您将enterNewPlaneTailenterNewPlaneMM分配给警报视图的文本字段。那不是你想要的。您想从警报的文本字段中分配enterNewPlaneTailenterNewPlaneMM。这是你如何做到的(我也清理了你的代码):

UIAlertView *newPlaneAlert = [[UIAlertView alloc]initWithTitle:@"FlightLog Pro" message:@"Enter tail number and make/model:"delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"Save", nil];
[newPlaneAlert setAlertViewStyle:UIAlertViewStyleLoginAndPasswordInput];

UITextField *enterNewPlaneTail = [alertView textFieldAtIndex:0];
UITextField *enterNewPlaneMM = [alertView textFieldAtIndex:1];

[enterNewPlaneTail setPlaceholder:@"Click to enter a make/model."];
[enterNewPlaneMM setPlaceholder:@"Click to enter a plane tail number."];

[newPlaneAlert textFieldAtIndex:0].autocapitalizationType = UITextAutocapitalizationTypeSentences;
[newPlaneAlert textFieldAtIndex:0].autocorrectionType = YES;
[newPlaneAlert show];