0

私は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 で別のビュー コントローラーを読み込む方法を提案してください。

4

1 に答える 1

1

それ以外の:

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

試す:

UIStoryboard *yourStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
RxViewController *obj1 = [yourStoryboard instantiateViewControllerWithIdentifier:@"RxViewController"];
于 2013-08-07T17:56:09.080 に答える