自定义UIAlertView

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

UIAlertViewHack uploads/UIAlertViewHack.png

或者更好的是,使用UIAlertView对象的图像button的3×2网格?

我不关心文本框,它是我想要的网格中的button(最好使用图片而不是文本)。

我认为你最好的select是忘记自定义UIAlert视图并自己构build一个自定义视图。

首先,你所展示的实际上并不是一个“提醒”,所以它与UIAlertView的devise相反。 这意味着你正在改变用户的UI范例,这绝不是一个好主意。

其次,将自定义视图制作成animation比试图破解UIAlertView来实现自己想要的function要容易得多。

首先,您需要将警报框放大以适应您的控制,但必须放置在中心位置。

为此,而不是设置框架大小,您的消息文本与“\ 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:添加你的button,并在所需的位置手动设置框架。

或者:用视图控制器创build一个完整的视图,然后将视图添加到警告框中,如下所示:

 [myalertview addSubvew:mycomplexalert]; 

希望这会进入你的帮助:)

我正在使用警报框评级input与星形图像,微博,FB反馈等

更新iOS7:

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

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

其多数民众赞成简单:-)

本教程将介绍如何inheritanceUIAlertView以实现input文本框。 它解释了如何放大视图,添加子视图(如文本框或图像),并进行变换以将屏幕上方的框移到更高的位置。

我写了一个几乎像素完美的UIAlertView替代品,这也是完全可configuration的。 看看CODialog是否适合您的需求。

这里没有内置的组件。 根据HIG文档,UIAlertView应该只有文本和button。

您将不得不创build自己的视图并添加控件。 SDK中的HeadsUpUI示例显示了如何将自定义类菜单视图显示为叠加层。

希望有所帮助。