我正在使用自定义的 UIAlertView
和 UITextField
来获取用户的密码。
有人告诉我,这个自定义视图可能会导致我的应用被苹果拒绝;这是正确的吗?如果是,那么适当的替代方案是什么?
我正在使用自定义的 UIAlertView
和 UITextField
来获取用户的密码。
有人告诉我,这个自定义视图可能会导致我的应用被苹果拒绝;这是正确的吗?如果是,那么适当的替代方案是什么?
你可以在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];
请看我的博客文章,其中包含与苹果公司完全兼容的代码。我在我的一些应用程序中添加了这个功能并且它们都被接受了。所以毫不犹豫地使用它吧!
以下是你可以使用的代码:
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];
请查看以下博客教程,获取完整解决方案。
我认为有更好的方法来解决这个问题。这是代码片段:
UIAlertView *passwordAlert = [[UIAlertView alloc]
initWithTitle:@"Enter Password" message:@""
delegate:self
cancelButtonTitle:nil
otherButtonTitles:@"Submit", nil];
passwordAlert.alertViewStyle = UIAlertViewStyleSecureTextInput;
您可以在prodeveloper博客中找到相关的实现。
但是这仅适用于iOS 5.0及以上版本。请注意。而且苹果肯定会批准它。
iOS 5现在原生支持此功能。请查看UIAlertView的alertViewStyle
属性。
嗨,Apple已经批准自定义UIAlertview了。
从iOS 5.0开始,Apple提供了alertview类型以输入凭据。
在这里,我列出了一个自定义的alertView,它能够在旧版iOS版本和方向上工作。 custom alertview
谢谢,
Naveen Shan