我有一个 UIViewController(说 A)。一个单独的 nib 文件作为弹出窗口加载到此视图控制器上。当通过单击 UIButton 关闭弹出窗口时,我想在 UIStoryBoard 中加载另一个视图控制器(比如 B)。所有的 UIViewControllers 都在故事板中。
我尝试了代表模式。委托方法将 self.storyboard 返回为nil。
请建议如何处理(从 A 到 B 执行 egue 或从 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 中加载另一个视图控制器。