从 Storyboard 调用 Xib Class

Call Xib Class from Storyboard

我有一个基于故事板的项目

我需要调用基于 Xib 的 UIViewControllerclass。

如何从情节提要中调用 Xib class,反之亦然?

我有 3 个 controllers.ViewController,Storybboard.SecondViewController 中的 ThirdViewController 是 XIB 部分。

首先我从 Storyboard 调用 XIB

ViewController.m

#import "ViewController.h"
#import "SecondViewController.h"
@interface ViewController ()

@end

@implementation ViewController 


- (IBAction)actionGoXIB:(id)sender
{
  SecondViewController *secondVC = [[SecondViewController alloc]initWithNibName:@"SecondViewController" bundle:nil];
  [self.navigationController pushViewController:secondVC animated:YES];
}

现在我从 XIB 调用 Stoyboard

如果你想实现这个,首先转到 Storyboard 点击 ThirdViewController

Click->Identity Inspector

Then Click -> Identity

Now Set the Storyboard ID to ThirdViewController in the Identity section

见下方截图

第二ViewController.m

#import "SecondViewController.h"
#import "ThirdViewController.h"

@interface SecondViewController ()

@end

@implementation SecondViewController

- (IBAction)actionGoStoryboard:(id)sender
{
  UIStoryboard *mainStoryBoard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
  ThirdViewController *thirdVC = [mainStoryBoard instantiateViewControllerWithIdentifier:@"ThirdViewController"];
  [self.navigationController pushViewController:thirdVC animated:YES];
  // [self presentViewController:thirdVC animated:YES completion:nil];
}