【问题标题】:Xcode Storyboard and xib connectionXcode Storyboard 和 xib 连接
【发布时间】:2013-03-12 03:52:36
【问题描述】:

我有一个包含许多视图控制器的故事板项目,我创建了一个名为 “connecter.h,connector.m” 现在我可以将这个类连接到一个 .xib 文件吗?

请帮帮我。

【问题讨论】:

  • - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];如果(自我){}返回自我; }
  • 我可以使用以上方法加载xib吗???

标签: ios storyboard xib viewcontroller xcode4.6


【解决方案1】:

您可以在创建connector.hconnector.m 时创建XIB,方法是选择UIViewController 的子类并单击复选框:“使用XIB for User Interface”。如果您已经创建了 .m 和 .h 文件,那么您可以通过从窗口中选择 View 来添加一个新的 GUI 文件,最后将其 Controller Custom 类设置为 connector 您可以将 StoryBoardXIB同一个项目。 See for more help.

为了呈现视图控制器,您可以使用以下代码

YourViewController *viewController=[[YourViewController alloc]initWithNibName:@"ViewControllerName" bundle:nil];

[self presentViewController:viewController animated:YES completion:nil];

如果是NavigatinController

   [self.navigationController pushViewController:viewController animated:YES];

【讨论】:

  • 我是这个故事板的新手,你能给我看一些示例代码吗??
  • 我读到了这些链接,你的意思是把 XIB 文件放在项目中的某个地方,并在身份窗口中将其类分配为 CONNECTER.M ??够了吗??
  • 是的,您可以单独添加文件,也可以将文件与 connector.h 和 connector.m 一起添加,在 Identity Inspector 中选择连接器作为其自定义类。
  • 我想在我的故事板中单击第一个视图控制器中的按钮时打开那个 XIB?我该怎么做?如何从那个按钮指定代码?
  • 只需使用YourViewController *vieController=[[YourViewController alloc]initWithNibName:@"ViewControllerName" bundle:nil]; 声明 ViewController 并使用 presenetViewController 预置它。
【解决方案2】:

在您的编辑器中打开故事板,然后单击任何视图控制器。这样做将列出您在选择任何 xib 时用来查看的所有代理对象。下图一定能帮助你更好地理解。

现在转到 Identity Inspector 选项卡并在突出显示的文本字段中输入您的班级名称

【讨论】:

    【解决方案3】:

    创建一个Xib 文件,将FilesOwner 类设置为connecter.h。在创建连接器类的实例时

    [[connecter alloc] initWithNibName:@"Nib_Name" bundle:nil];
    

    【讨论】:

      【解决方案4】:

      这样做可以将您的连接器类与 xib 绑定​​:[这里我将 ViewController 类与 xib 绑定​​]

      并将视图与文件的所有者联系起来。并且您的连接器类必须是 ViewController 类型并且具有方法

      - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
      {
          self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
          if (self) {
              // Custom initialization
          }
          return self;
      }
      

      【讨论】:

      • 我必须添加连接器RYT而不是自定义类中的“VIEWCONTROLLER”??
      • 是正确的 "self = [super initWithNibName:@"MYNIBNAME.XIB" bundle:nibBundleOrNil];
      • 是的。代替自定义类中的“VIEWCONTROLLER”,您必须添加连接器。
      • 保持原样self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
      猜你喜欢
      • 2013-11-15
      • 1970-01-01
      • 2018-03-11
      • 2012-01-02
      • 1970-01-01
      • 1970-01-01
      • 2013-10-18
      • 2015-02-08
      • 2023-03-21
      相关资源
      最近更新 更多