How to customize UIAlertView? Will Apple approve it?

纵饮孤独 提交于 2019-12-04 08:41:19

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!