【问题标题】:Common XIB in multiple View Controller in iPhoneiPhone中多个视图控制器中的通用XIB
【发布时间】:2012-07-17 08:07:51
【问题描述】:

我有一个带有多个视图控制器的 iPhone 应用程序,在所有视图控制器的标题中都很常见。 我不想使用相同的方法并在所有控制器中创建通用视图。 所以我的问题是如何在所有控制器中使用这个通用视图。

【问题讨论】:

    标签: iphone xcode ipad uiviewcontroller


    【解决方案1】:

    在分配新视图控制器时使用 initWithNibNamed:"name of your xib"。很简单。

    【讨论】:

    • 嗨 Teodor 感谢您的回复,但我的问题是标题视图在所有类中都是相同的,我不想一次又一次地在 xib 中创建我已经创建了一次,我只在所有视图控制器中使用该部分类
    • 所以你有一个 xib 的 1 个标题,你想与所有控制器共享它们,对吧?
    • 打开您的 xib,然后在实用程序菜单中单击身份检查器。在那里,在“自定义类”部分(在顶部)中选择您的头文件。
    • 答案在上面。之后,在该标头中声明的所有出口都将在您的 xib 中看到。如果答案足够好,请毫不犹豫地接受答案。干杯!
    • 如果每个控制器都有自己的 xib 文件,这是否有效?如果是这样,您如何添加标题 xib 以及控制器 xib?
    【解决方案2】:

    相同,但我们可以避免定义变量 -

    [self.view addSubview:[[(NavAppAppDelegate *)[[UIApplication sharedApplication] delegate] headerview] view]];
    

    【讨论】:

      【解决方案3】:

      好的,所以您必须在 Application Delegate 中创建一次。 在.h

      @property(nonatomic,strong) uiviewcontroller headerview;
      

      在.m

      @synthesize headerview=_headerview;
      

      然后在 appdelegate 中的“didFinishLaunchingWithOptions”中将其分配为单例

      self.headerview = [[headerview alloc] initWithNibName:@"headerview" bundle:nil];
      

      所以每次你想把它添加到你的视图中。 导入后从您的类中的应用程序委托创建对象。

      applicationdelegate app = [uiapplication sharedapplication]delegate];
      [self.view addsubview:app.headerview.view];
      

      【讨论】:

      • 嗨 Mina 感谢您的回答,这也有效。但对不起,在你的回答之前我已经接受了另一个。两者都在为我工作谢谢。干杯!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-09-03
      • 1970-01-01
      • 2011-08-02
      • 2010-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多