Iphone 从xib在UIStoryboard中的另一个UIViewController上加载UIViewController

Iphone 从xib在UIStoryboard中的另一个UIViewController上加载UIViewController,iphone,xib,uistoryboard,uistoryboardsegue,Iphone,Xib,Uistoryboard,Uistoryboardsegue,我有一个UIViewController(比如a)。在此视图控制器上加载了一个单独的nib文件作为弹出窗口。当点击UIButton关闭弹出窗口时,我想在UIStoryBoard中加载另一个视图控制器(比如B)。所有UIViewController都在故事板中 我试过用这种模式。委托方法将self.storyboard返回为nil 请建议如何处理(从A到B执行查询或从nib文件在导航控制器上推送B的新实例) 以下是我用于委派的代码: **In CustomViewNewPrescription.h

我有一个UIViewController(比如a)。在此视图控制器上加载了一个单独的nib文件作为弹出窗口。当点击UIButton关闭弹出窗口时,我想在UIStoryBoard中加载另一个视图控制器(比如B)。所有UIViewController都在故事板中

我试过用这种模式。委托方法将self.storyboard返回为nil

请建议如何处理(从A到B执行查询或从nib文件在导航控制器上推送B的新实例)

以下是我用于委派的代码:

**In CustomViewNewPrescription.h file:**

    @class CustomViewNewPrescription;
    @protocol CustomViewNewPrescriptionDelegate <NSObject>
    -(void)SaveCustomViewNewPrescription;
    @end 
    @interface CustomViewNewPrescription : UIView{
        id<CustomViewNewPrescriptionDelegate>delegate;

    }

    @property(nonatomic,strong) id<CustomViewNewPrescriptionDelegate>delegate;

    **in .m:**
    - (IBAction)btnCancel:(UIButton *)sender{
        [self.delegate SaveCustomViewNewPrescription];
    }

delegate was synthesized and initialised.

**In AddNewRx.h:**
@interface AddNewRx : UIViewController<CustomViewNewPrescriptionDelegate>{
}

**in AddNewRx.m:**

-(void)SaveCustomViewNewPrescription{
   //either self performseguewithidentifier .... (or)
    RxViewController *obj1 = [[self.navigationController storyboard] instantiateViewControllerWithIdentifier:@"RxViewController"];
    [self.navigationController pushViewController:obj1 animated:YES];
}
CustomViewNewPrescription.h文件中的
****
@新处方类;
@协议CustomViewNewPrescriptionLegate
-(作废)SaveCustomViewNewPrescription;
@结束
@界面CustomViewNewPrescription:UIView{
iddelegate;
}
@属性(非原子,强)iddelegate;
**in.m:**
-(iAction)取消:(UIButton*)发送器{
[self.delegate SaveCustomViewNewPrescription];
}
代表已合成并初始化。
**在AddNewRx.h中:**
@接口AddNewRx:UIViewController{
}
**在AddNewRx.m中:**
-(作废)SaveCustomViewNewPrescription{
//使用标识符进行自我执行……(或)
RxViewController*obj1=[[self.navigationController情节提要]实例化eviewcontrollerwhiteIdentifier:@“RxViewController”];
[self.navigationController pushViewController:obj1动画:是];
}
在SaveCustomViewNewPrescription中,self.storyboard提供零值

请建议如何在SaveCustomViewNewPrescription中加载另一个视图控制器。

而不是:

RxViewController *obj1 = [[self.navigationController storyboard] instantiateViewControllerWithIdentifier:@"RxViewController"];
尝试:

UIStoryboard *yourStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
RxViewController *obj1 = [yourStoryboard instantiateViewControllerWithIdentifier:@"RxViewController"];