私はUIViewController(Say A)を持っています。別の nib ファイルが、このビュー コントローラーのポップアップとしてロードされました。UIButton をクリックしてポップアップが閉じられたときに、UIStoryBoard に別のビュー コントローラー (Say 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 で別のビュー コントローラーを読み込む方法を提案してください。