【问题标题】:How to make a UIView that looks exactly like UIAlertView?如何制作一个看起来与 UIAlertView 完全一样的 UIView?
【发布时间】:2014-12-27 09:45:14
【问题描述】:

我想在屏幕上显示一些标签,我想让它们看起来和 UIAlertView 完全一样。如何复制外观?请注意,我不关心警报视图的任何功能,只想要默认外观,因为它看起来不错。 UIAlertView 上的 backgroundColor 等常用属性未设置,CALayer 的属性也没有显示任何有用的内容。

有什么想法吗?

【问题讨论】:

  • 使用协议或试试这个链接stackoverflow.com/questions/20737426/…
  • 您想显示警报对话框吗?为什么不使用 UIAlertView?您是否想要一个外观为 UIAlertView 的表单,而不是仅在其上添加标签的文本框?
  • @HBizhi 不,我不想显示警报视图我想在屏幕上显示一些标签,但我想让它们的背景看起来像 UIAlertView 中使用的那样。它不是带有 alpha 值的简单白色,它看起来有点不同,我想要那个。
  • @Anbu.Karthik 我尝试过这样的事情:[uialertview appearance].backgroundColor 但它们没有返回有用的值,并且链接都是关于自定义 UIAlertView

标签: ios uialertview appearance


【解决方案1】:

您正在寻找的是模糊效果。 如果您的目标是 iOS 8 及更高版本,您可以使用它来创建模糊视图

UIBlurEffect* blur = [UIBlurEffect effectWithStyle:UIBlurEffectStyleExtraLight];
    effectView = [[UIVisualEffectView alloc] initWithEffect:blur];
    effectView.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
    effectView.frame = self.bounds;
    [self addSubview:effectView];

Apple documentation

请注意,您可以使用 UIBlurEffectStyleExtraLight、UIBlurEffectStyleLight、UIBlurEffectStyleDark。

如果您使用较低版本的 iOS,则必须使用自定义类,例如 FXBlurView

【讨论】:

  • 就是这样,谢谢。在您的答案中将 initWithEffect: 部分更改为 initWithEffect:blur
  • 对不起^^' 我会编辑它。我从我的代码中取出它,更改了错误的行:p
【解决方案2】:

尽管这不是您问题的准确答案,但这里有一些 UIAlertView 的开源替代方案,可以让您首先做您需要做的事情。

https://github.com/rtecson/RTAlertView#Installation

https://github.com/lmcd/LMAlertView

可能还有更多。

【讨论】:

    猜你喜欢
    • 2011-10-20
    • 2020-11-23
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-08
    • 1970-01-01
    相关资源
    最近更新 更多