我使用自定义UIAlertView
和UITextField
来获取用户的密码。
我被告知此自定义视图可能会导致我的应用被Apple拒绝;那是对的吗?如果是这样,我的自定义控件的替代品是什么?
答案 0 :(得分:11)
您可以在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];
答案 1 :(得分:4)
请参阅我的blog post这样做以及Apple完全接受的代码。我在我的一些应用程序中添加了这个,它们都被接受了。所以尽量使用它!
以下是您可以使用的代码:
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];
答案 2 :(得分:2)
查看以下博客教程以获取完整的解决方案。
答案 3 :(得分:1)
如果您担心拒绝,则可以随时滚动自己的视图,其动画类似于UIAlertView
。在这里查看这个问题:
答案 4 :(得分:1)
iOS 5现在支持此功能。查看UIAlertView的alertViewStyle
属性。
答案 5 :(得分:1)
答案 6 :(得分:1)
我认为有更好的方法可以解决这个问题。这是代码段
UIAlertView *passwordAlert = [[UIAlertView alloc]
initWithTitle:@"Enter Password" message:@""
delegate:self
cancelButtonTitle:nil
otherButtonTitles:@"Submit", nil];
passwordAlert.alertViewStyle = UIAlertViewStyleSecureTextInput;
(您可以在prodeveloper博客中找到相关的实施方案)
但这仅适用于iOS 5.0及更高版本。请记下它。苹果肯定会批准它。
答案 7 :(得分:0)
Ya Apple批准了UIAlertview的定制。 从iOS 5.0开始,apple提供了alertview类型来获取凭证输入。
这里我列出了一个自定义警报视图,它可以处理较旧的ios版本和方向 custom alertview
感谢,
Naveen Shan