如何自定义UIAlertView? Apple会批准吗?

时间:2011-04-19 13:41:19

标签: iphone cocoa-touch uialertview appstore-approval

我使用自定义UIAlertViewUITextField来获取用户的密码。

我被告知此自定义视图可能会导致我的应用被Apple拒绝;那是对的吗?如果是这样,我的自定义控件的替代品是什么?

8 个答案:

答案 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。在这里查看这个问题:

How can I customize an iOS alert view?

答案 4 :(得分:1)

iOS 5现在支持此功能。查看UIAlertView的alertViewStyle属性。

答案 5 :(得分:1)

class reference

引用
  

UIAlertView类旨在按原样使用,但不是   支持子类化。此类的视图层次结构是私有的   不得修改。

在我看来,他们不希望开发人员修改视图。

答案 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