2013-08-07 2 views
0

У меня есть UIViewController (Say A). Отдельный файл nib был загружен как всплывающее окно на этом контроллере представления. Когда всплывающее окно было закрыто, щелкнув UIButton, я хочу загрузить еще один контроллер представления (Say B) в UIStoryBoard. Все UIViewControllers были в раскадровке.Загрузить UIViewController на другом UIViewController в UIStoryboard от xib

Я пробовал с шаблонами делегатов. метод делегата возвращает self.storyboard как nil.

Пожалуйста, укажите, как обращаться (либо performsegue от А до Б или толкания нового экземпляра 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"]; 

Try:

UIStoryboard *yourStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; 
RxViewController *obj1 = [yourStoryboard instantiateViewControllerWithIdentifier:@"RxViewController"]; 
Смежные вопросы