2013-08-07 62 views
0

我有一个UIViewController(说A)。在此视图控制器上弹出一个单独的nib文件。当通过单击UIButton关闭弹出窗口时,我想在UIStoryBoard中加载另一个视图控制器(说B)。所有的UIViewControllers都在storyboard中。加载UIViewController UIStoryboard从另一个UIViewController从xib

我试着用代表模式。委托方法返回self.storyboard为

请建议如何处理(无论是performsegue从A到B或从笔尖文件导航控制器上推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给出零值

请建议如何在SaveCustomViewNewPrescription中加载另一个视图控制器。

回答

1

相反的:

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

尝试:

UIStoryboard *yourStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; 
RxViewController *obj1 = [yourStoryboard instantiateViewControllerWithIdentifier:@"RxViewController"]; 
相关问题