问题
I am using a custom UIAlertView
with UITextField
to get password from the user.
I have been told that this custom view may cause my App to get reject by Apple; is that correct? If so, what is the appropriate replacement for my custom control?
回答1:
You can add a textfield to your UIAlertView
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"title" message:@"msg" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:nil];
UITextField *txtField = [[UITextField alloc] initWithFrame:CGRectMake(12.0, 45.0, 260.0, 25.0)];
[alertView addSubview:txtField];
[alertView show];
[alertView release];
回答2:
See my blog post of doing this and its perfectly accepted code by apple. I added this in some of my apps and they all got accepted. So use it without fear!!
Here is the code you can use :
UIAlertView *myAlertView = [[UIAlertView alloc] initWithTitle:@"Your title here!" message:@"this gets covered" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"OK", nil];
UITextField *myTextField = [[UITextField alloc] initWithFrame:CGRectMake(12.0, 45.0, 260.0, 25.0)];
[myTextField setBackgroundColor:[UIColor whiteColor]];
[myAlertView addSubview:myTextField];
CGAffineTransform myTransform = CGAffineTransformMakeTranslation(0.0, 130.0);
[myAlertView setTransform:myTransform];
[myAlertView show];
[myAlertView release];
回答3:
Check below blog tutorial for the complete solution.
http://junecloud.com/journal/code/displaying-a-password-or-text-entry-prompt-on-the-iphone.html?cmd=success#comment3870
回答4:
If you're concerned about rejection, you can always roll your own view that has animations similar to a UIAlertView
. Check this question out here:
How can I customize an iOS alert view?
回答5:
iOS 5 now supports this natively. Check out UIAlertView's alertViewStyle
property.
回答6:
Quoting from the class reference
The UIAlertView class is intended to be used as-is and does not support subclassing. The view hierarchy for this class is private and must not be modified.
The last sentence appears to me that they don't want developers modifying the views.
回答7:
I think there is a better way to solve this. Here is the code snippet
UIAlertView *passwordAlert = [[UIAlertView alloc]
initWithTitle:@"Enter Password" message:@""
delegate:self
cancelButtonTitle:nil
otherButtonTitles:@"Submit", nil];
passwordAlert.alertViewStyle = UIAlertViewStyleSecureTextInput;
(You can find related implementations in prodeveloper blog)
But this works fine on iOS 5.0 and above only. Please make a note of it. And Apple will certainly approve it.
回答8:
Ya Apple approve the customization of UIAlertview. From iOS 5.0 apple gives alertview type to take credential input.
Here I listed a custom alertview which is able to work on older ios version and orientation custom alertview
thanks,
Naveen Shan
来源:https://stackoverflow.com/questions/5717292/how-to-customize-uialertview-will-apple-approve-it