【问题标题】:Custom UIAlertView with Custom Buttons带有自定义按钮的自定义 UIAlertView
【发布时间】:2011-06-22 10:34:42
【问题描述】:

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

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

我正在关注this 指南,但我认为它没有解决自定义按钮处理问题。

如何做到这一点?有什么想法吗?

【问题讨论】:

    标签: iphone objective-c ios ios4 uialertview


    【解决方案1】:

    Apple 似乎不喜欢你过度定制 UIAlertView,而且我听说有很多情况下他们拒绝了应用进入应用商店的情况。

    由于您所追求的自定义程度,我建议您创建自己的新 Alert 类,该类具有动画效果并具有背景阴影等,并带有可以自定义位置/外观的按钮。

    【讨论】:

      【解决方案2】:

      我发现 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];
      

      他创建了一个自定义文本输入视图。显然,在您的情况下,您可能希望使用不同的背景,而不是添加文本字段,而是只使用按钮。由于他也在他的视图中制作了自定义按钮,因此它应该可以满足您的所有需求,甚至更多。

      【讨论】:

        【解决方案3】:

        不幸的是,Apple 不允许子类化 UIAlertView:

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

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-12-13
          • 1970-01-01
          • 2010-10-07
          • 2011-10-14
          • 2011-05-10
          • 2014-02-09
          相关资源
          最近更新 更多