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