当前位置:  开发笔记 > IOS > 正文

自定义UIAlertView

如何解决《自定义UIAlertView》经验,为你挑选了4个好方法。

任何人都有代码来做到这一点:

UIAlertViewHack
(来源:booleanmagic.com)

或者更好的是,使用UIAlertView对象的3x2网格按钮?

我不关心文本字段,它是我想要的网格中的按钮(最好是图像而不是文本).



1> August..:

我认为最好的办法是忘记自定义UIAlert视图并自己构建自定义视图.

首先,你所展示的内容并非"警报",因此它与UIAlertView的设计目标背道而驰.这意味着您正在更改用户的UI范例,这绝不是一个好主意.

其次,将自定义视图设置到场所比将尝试破解UIAlertView以使其完成您想要的操作要容易得多.


不仅如此,而且尝试自定义UIAlertView是苹果公司一贯拒绝你的应用程序的原因之一.

2> Shaikh Sonny..:

首先,您需要使警报框更大以容纳您的控件,但它必须放在中心位置.

为此,不要设置帧大小,而是使用"\n"s作为necc的消息文本.例如:

alert = [[UIAlertView alloc] initWithTitle:@"Rate this picture."
message:@"Tap a star to rate.\n\n\n\n " /*------ look at here!!----*/
delegate:self
cancelButtonTitle:nil
otherButtonTitles:nil];

然后使用UIAlertViewDelegate作为alertview.

覆盖它,viewWillAppear:添加按钮并在所需位置手动设置它们的帧.

或者:使用视图控制器创建整个视图,并将视图添加到警告框,如:

[myalertview addSubvew:mycomplexalert];

希望这会得到你的帮助:)

我正在使用警报框对星级图像,推特,fb反馈等进行评级输入.

更新iOS7:

对于iOS 7,使用组件创建自己的视图并将其设置为alertview的附件视图:

[alert setValue:imageView forKey:@"accessoryView"]; 

这很简单:-)



3> Hauke..:

本教程介绍如何将UIAlertView子类化以实现输入文本框.它解释了如何放大视图,添加子视图(如文本框或图像)并进行转换以在屏幕上向上移动框.



4> Erik Aigner..:

我写了一个几乎像素完美的UIAlertView替代品,它也是完全可配置的.如果它符合您的需求,请查看CODialog.

推荐阅读
k78283381
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有