自定义UIAlertView?

9

由于蓝色与我的UI界面不搭配,我想知道是否有办法更改uialertview的颜色或使用图像代替。所有按钮,“dismiss”等仍然存在。

谢谢


你可以展示一个模态/弹出视图,这只是一个想法。让它看起来像一个警报,并添加一个关闭按钮以便关闭它。 - Jordan Brown
1
这个能用吗?它还是蓝色的。https://github.com/kyoshikawa/ZPopoverController - Sum
7个回答

20

1
这个项目的问题在于它使用了ARC。如果你的项目没有使用ARC,你会遇到各种编译问题。我不明白为什么有人要使用ARC? - Sam B
5
ARC非常棒。如果您不使用ARC,可以在Xcode的构建阶段选项卡中对每个文件显式启用它。https://dev59.com/52kv5IYBdhLWcg3wiRWo - sudo rm -rf
1
@SamBudda,你喜欢显式地 retain/release 你的对象吗? - brianSan

1
你可以尝试使用透明背景来呈现模态视图控制器。
    ModalViewController *popupController = [[ModalViewController alloc] initWithNibName:@"ModalViewController" bundle:nil]; 
[self presentModalViewController:popupController animated:NO];  

对于ModalView,可以尝试类似这样的实现(https://dev59.com/XnRA5IYBdhLWcg3wuAcp)

这种方式可以创建自定义警告框,但实际上是一个可自定义的模态视图


7
FYI 注意这种方法——即使使用透明背景展示视图控制器,也会使其后面的视图消失,留下白色背景。这可能不是你要寻找的效果。 - kris

0

你是正确的,这里有一句来自苹果公司的引用:“UIAlertView类旨在按原样使用,不支持子类化。该类的视图层次结构是私有的,不得修改。”因此,创建具有类似功能的新类似乎是唯一的选择。 - marika

0

你可以使用UIView代替UIAlertView,并根据需要轻松自定义UIView。


0
你可以使用CODialog。它可以完全自定义样式和配置。

0

你可以遍历其子视图并更改需要更改的内容,或者对其进行子类化。因为UIAlertView继承自UIView,所以你可以使用:

 myAlertView.subViews

修改视图或子类化UIAlertView以创建您的自定义AlertView。 这是一篇非常好的文章,介绍了如何子类化UIAlertView以获得您想要的任何设计/颜色。

子类化UIAlertView

基本上,您需要覆盖的是这个方法:

- (void) drawRect:(CGRect)rect 

希望这有所帮助。

0
如果正在寻找自定义警报视图,则可能会有所帮助。
https://github.com/Pradeepkn/PKCustomAlertView/

希望能对某些人有所帮助。
无需设置委托。一旦操作完成,您将在同一方法中获得回调。 享受吧 :) 自定义警报视图 表格警报视图

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接