使用Three20定制警报视图

时间:2011-02-15 10:58:59

标签: iphone ios4 three20 uialertview

我想创建一个自定义的UIAlertView,因为我已经在使用Three20,我想我会试一试。

我看到他们有TTAlertViewController课。

我试着这样称呼它:

TTAlertViewController* vc = [[TTAlertViewController alloc] initWithNibName:@"MyAlertView" bundle:nil];
[vc addButtonWithTitle:@"OK" URL:@"MyApp://buttonOk"];

但它似乎不起作用(只显示该按钮),我猜他们已经在实现LoadView,这对我的理解是“杀死”任何使用Nib文件的方式。

有没有人知道如何使用Three20的UI对象自定义警报视图?

由于

1 个答案:

答案 0 :(得分:0)

这可能不是您的确切问题,可能存在多个问题,但它是您所描述内容的一种可能解决方案,可能会帮助到达此处并确实遇到此问题的其他人。

为了使类能够在“initWithNibName”中从NIB中正确“保湿”,您需要将该类指定为NIB中的所有者。以下是如何在XCode 4.x中实现此功能(其中IB现在嵌入在Xcode中)

  1. 在左侧对象“大纲视图”中选择“文件所有者”(如果您已扩展了扩展名,则在“占位符”下方,以显示单词)。
  2. 从右侧的“Utilities”窗格中选择“Identity Inspector”。 (在我的情况下左起第3位)
  3. 在“自定义类”部分中,在标有“类”的字段中输入确切的类名(TTAlertViewController)。
  4. 还有这个,来自Apple的“loadView”方法的文档,但是如果忽略这个建议,它没有指定行为:

      

    如果使用Interface Builder创建视图并初始化   查看控制器 - 也就是说,您使用了初始化视图   initWithNibName:bundle:方法,设置nibName和nibBundle   属性直接,或创建您的视图和视图控制器   Interface Builder - 然后你不能覆盖这个方法。