[英]Load UIViewController on another UIViewController in UIStoryboard from xib
我有一个UIViewController(说A)。 一个单独的nib文件被加载为该视图控制器上的弹出窗口。 当通过单击UIButton关闭弹出窗口时,我想在UIStoryBoard中加载另一个视图控制器(说B)。 所有的UIViewControllers都在情节提要中。
我尝试了代表模式。 委托方法将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];
}
在SaveCustomViewNewPrescription中,self.storyboard给出nil值
请建议如何在SaveCustomViewNewPrescription中加载另一个视图控制器。
代替:
RxViewController *obj1 = [[self.navigationController storyboard] instantiateViewControllerWithIdentifier:@"RxViewController"];
尝试:
UIStoryboard *yourStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
RxViewController *obj1 = [yourStoryboard instantiateViewControllerWithIdentifier:@"RxViewController"];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.