【问题标题】:Size of UIAlertViewUIAlertView 的大小
【发布时间】:2014-05-05 13:59:19
【问题描述】:

在代码中创建 UIAlertView 时,尚未计算框架和边界。但即使在委托方法 willPresentAlertView 中,CGRects 中仍然只有零。有没有办法确定 UIAlertView 的大小,或者——因为我只需要它的宽度——视图的宽度是由 iOS 和设备预先确定的?

【问题讨论】:

  • 为什么需要 UIAlertView 的大小?我认为它大约是 300x200
  • 我想添加一个附件视图,我在左侧放置一个标签,在右侧放置一个开关,并正确排列这些对象,至少我认为我需要 UIAlertView 的宽度。如果有另一种(更好、更简单)的方法,那也很好。
  • 在 iOS 7 中你无法获得它,在 iOS 7 中宽度将是 312

标签: ios objective-c ios7 uialertview sdcalertview


【解决方案1】:

在您提到的 cmets 中,您希望将自定义子视图添加到警报中。我不推荐这种方法,但请查看SDCAlertView 之类的替代方法(完全披露:我写的)。

在任何情况下,警报的宽度都是 270 点。

【讨论】:

  • 谢谢,我去看看。只是为了澄清一下,将附件视图添加到我的 UIAlertView 有什么缺点?
  • 它是未记录的 API,因此它可能会在 Apple 发布更新的任何时候中断。
  • 请参阅我的回答,了解为什么您不应该向 UIAlertView 添加视图,底线是因为 Apple 不允许这样做。
【解决方案2】:

来自Apple Documentation

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

基本上,如果您需要添加元素,您应该创建自己的 UIAlertView 外观相似。系统类仅用于非常有限的功能范围。

【讨论】:

    【解决方案3】:

    我也想知道这个信息,因为我想创建一个相同大小的视图。 iOS 7-9 的警报样式警报的大小为:

    { 270, 144 }

    即(270 width x 144 height)

    我没有在任何设备上测试过这个,所以可能会有一些差异,如果我有时间测试它们会更新。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多