2014-10-27 1 views
0
-(void)btnclick1:(UIButton *)sender 
{ 
    NSString *[email protected]"Main"; 

    UIStoryboard* storyboard1 = [UIStoryboard storyboardWithName:storyboardName 
                 bundle:nil]; 


    secondViewController *add = [[secondViewController alloc]init]; 
add =[storyboard1 instantiateViewControllerWithIdentifier:@"nextseg"]; 
    [self.view addSubview:add.view]; 

    [self presentViewController:add 
         animated:YES 
        completion:nil]; 



} 

я получил ошибку: причину: «Раскадровка() не содержит контроллер представления с идентификатором„nextseg“»Ошибка: не содержит контроллер вида с идентификатором?

+0

Вы даете идентификатор для просмотра контроллера в раскадровке? Другими словами, что такое «nextseg», откуда вы это получили? – CRDave

+0

попробуйте эту ссылку http://stackoverflow.com/questions/23102978/swrevealviewcontroller-without-using-navigationcontroller/23105142#23105142 –

ответ

0

Вы должны установить Storyboard ID для XIb вы хотите использовать в настройках MainStoryboard для XIB, см. изображение. В вашем случае это должно быть @"nextseg"

enter image description here

Надеется, что это помогает.

Cheers.

0

Просто добавьте [NSBundle mainBundle] в аргумент связки, откуда вы получаете раскадровку. Упование это помогает

-(void)btnclick1:(UIButton *)sender 
{ 
    NSString *[email protected]"Main"; 

    UIStoryboard* storyboard1 = [UIStoryboard storyboardWithName:storyboardName 
                bundle:[NSBundle mainBundle]]; 


    secondViewController *add = [[secondViewController alloc]init]; 
    add =[storyboard1 instantiateViewControllerWithIdentifier:@"nextseg"]; 
    [self.view addSubview:add.view]; 

    [self presentViewController:add 
        animated:YES 
       completion:nil]; 



} 

Также удостоверьтесь, что у вас есть идентификатор «nextseg» для вашего контроллера вида. «nextseg» не должен быть идентификатором сегмента, ведущего к контроллеру представления, но он должен быть для контроллера вида