自定义UIAlertView与自定义按钮

时间:2011-06-22 10:34:43

标签: iphone objective-c ios ios4 uialertview

我需要显示一个自定义UIAlertView,它将有一个图像作为背景和两个自定义按钮,这将不是常规的UIAlertView按钮。这些按钮也将自定义,并有自己的艺术品。

Sample AlertView

上面的例子有一个背景,但我也想在其上添加自定义按钮。

我正在关注this指南,但我不认为它涉及自定义按钮处理。

怎么做?有什么想法吗?

3 个答案:

答案 0 :(得分:1)

Apple似乎并不喜欢你过度定制UIAlertView,而且我听说过很多次他们因为它而拒绝了应用程序进入应用程序商店。

由于您所关注的自定义程度,我建议您创建自己的新Alert类,该类可以设置动画并具有背景阴影等,其中包含可以自定义位置/外观的按钮。

答案 1 :(得分:0)

我发现Jeff LaMarche撰写的这篇博文非常有助于制作自定义提醒视图:http://iphonedevelopment.blogspot.com/2010/05/custom-alert-views.html。他经历了制作自定义类的步骤,因为修改UIAlertView会导致App Store拒绝(但是他警告说使用自定义技术仍会导致HIG违规,但我怀疑他们会为你要做的事情而做)。当你完成时,你将有一个自定义警报视图类,可以添加到与UIAlertView相同的样式:

  

此时,我们已经完成了。我们现在可以   完全使用此自定义警报视图   我们使用UIAlertView的方式相同:

CustomAlertView *alert = [[CustomAlertView alloc] init];
alert.delegate = self;
[alert show];
[alert release];

他创建了一个自定义文本输入视图。显然,在你的情况下,你会想要使用不同的背景,而不是添加一个文本字段,你只需要按住按钮。由于他也在他的视图中制作自定义按钮,它应该满足您的所有需求,如果不是更多。

答案 2 :(得分:0)

不幸的是,Apple不允许继承UIAlertView:

  

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

最简单的方法是创建具有类似行为的自己的类。

这是一个例子: http://iosdevtricks.blogspot.com/2013/04/creating-custom-alert-view-for-iphone.html