在 iOS7 中更改 UIAlertView 的字体大小

Posted

技术标签:

【中文标题】在 iOS7 中更改 UIAlertView 的字体大小【英文标题】:Change font size for UIAlertView in iOS7 【发布时间】:2014-02-07 18:43:20 【问题描述】:

我想更改 alertView 中消息文本和标题文本的字体大小。苹果网站中没有关于此的文档,但苹果在其子类注释中说“UIAlertView 类旨在按原样使用”。请参考以下链接。 https://developer.apple.com/library/ios/documentation/uikit/reference/UIAlertView_Class/UIAlertView/UIAlertView.html

如果更改警报视图文本大小是要避免的还是可以更改的,我真的很困惑?谁能告诉我什么是最好的做法?

如果可以更改文字大小,能否提供一些方法来做到这一点?

【问题讨论】:

参见UIAlertView addSubview in iOS7 了解有关自定义 UIAlertView 的讨论。 【参考方案1】:

是的,这是正确的“UIAlertView 类旨在按原样使用”。您不应直接访问 UIAlertView 中的任何标签,也不应将 UIAlertView 子类化 - Apple 明确说明了这一点,并且在发送到 Apple Store 以发布时可能会导致您的应用在修订期间被拒绝。这同样适用于 UIActionSheet。

这解释了为什么您无法通过 UIAlertView 的公共 API 访问任何 UILabel。从技术上讲,您仍然可以通过查看 UIAlertView 子视图 NSArray 属性的内容来访问它们 - 实际上包含所有子视图,其中包括 UILabel 和 UIButton 实例。但是,如前所述,您绝对应该避免这样做,而是考虑实现您自己的警报视图,以便在需要时以模态方式加载。

【讨论】:

【参考方案2】:

就像前面的答案所说,您可以访问和修改内部标签,但您绝对 100% 不应该。

不确定您是否能够根据自己的需要对其进行自定义,但您可以尝试查看这个出色的加载覆盖类 MBProgressHUD。但是,使用这个库(我还没有尝试过)AHAlertView,您可能会获得更好的运气。

查找 iOS 库的一个很好的来源是 CocoaPods Spec Repo

【讨论】:

以上是关于在 iOS7 中更改 UIAlertView 的字体大小的主要内容,如果未能解决你的问题,请参考以下文章

在 iOS7 中显示之后/期间更新 UIAlertView 消息

更改 UIAlertview 和 UIActionsheet 按钮的色调颜色

当 SDK 目标为 iOS7 时,UIAlertView 太记账,无法在 iOS8 中替换

如何在 iOS7 中将 UIDatePicker 添加到 UIALertView

UIActivityIndi​​catorView 未显示在 UIAlertView - iOS7 [重复]

在 iOS 7.1+ 中快速使用 UIAlertView