2013-02-19 4 views
1

В моем приложении для iPad. Я работаю над UISplitViewController. В DetailViewControllerUISplitViewController есть кнопка. Когда эта кнопка нажата, она перейдет к другому контроллеру. В другом контроллере представления мне не нужно UISplitViewController. Как уволить UISplitViewController. Я много пробовал и googled, но я не нашел никакого решения. Это убивает мое время, поэтому, если кто-то работал над ним, пожалуйста, помогите мне и отправьте образец кода.Как убрать UISplitViewController при нажатии кнопки

Я использую этот код

-(void)imgButtonpressed:(id)sender 
{ 
    MenuItemsListViewController *menuview=[[MenuItemsListViewController alloc]initWithNibName:@"MenuItemsListViewController" bundle:nil]; 

    menuview.modelArray = imagesArray; 
    menuview.image = [sender tag]*2; 
    [self.navigationController pushViewController:menuview animated:YES]; 

} 

ответ

-2

компанию Apple не хочет, чтобы вы нажать расщепленные контроллеры отображения в навигационные контроллеры. Их рекомендации говорят, что если вы используете UISplitViewController, он должен быть постоянно виден в вашем приложении (поэтому вы не можете его удалить), за исключением того, что он накладывается на него с помощью модальных контроллеров.

Как насчет того, чтобы представить свой монитор управления модально?

MenuItemsListViewController *menuview=[[MenuItemsListViewController alloc]initWithNibName:@"MenuItemsListViewController" bundle:nil]; 

menuview.modalPresentationStyle = UIModalPresentationFullScreen; 
[self.splitViewController presentViewController:menuview animated:YES completion:nil]; 

Источник: How can we push UISplitVIewController to a UINavigationController

-1

У меня была та же проблема при работе с UISplitView. На самом деле, у меня все еще возникла проблема, когда я наконец понял, как продвигать splitview поверх rootviewcontroller.

Итак, я считаю, что есть много новичков, которые разочарованы этой проблемой. Я попытался выяснить это решение, прочитав здесь много.

Вот что я делаю (вы можете сделать то же самое с любым другим видом):

Это уволить SplitView и нажать другую SplitView:

SplitViewController *split = [[SplitViewController alloc]init]; 
    self.leftController = [[LeftViewController alloc]init]; 
    UINavigationController *leftNav = [[UINavigationController alloc]initWithRootViewController:leftController]; 
    self.rightController = [[RightViewController alloc]init]; 
    UINavigationController *rightNav = [[UINavigationController alloc]initWithRootViewController:rightController]; 
    split.viewControllers = [NSArray arrayWithObjects:leftNav,rightNav, nil]; 
    split.delegate = self.rightController; 

    YourAppDelegate *delegate = (YourAppDelegate *)[[UIApplication sharedApplication] delegate]; 
    delegate.window.rootViewController = split; 

И второй вариант:

NSMutableArray *allViewControllers = [NSMutableArray arrayWithArray:self.navigationController.viewControllers]; 

    [allViewControllers replaceObjectAtIndex:0 withObject:split]; 
    self.navigationController.viewControllers = allViewControllers; 

Надеюсь, это помогло бы другим, которые столкнулись с одной и той же проблемой.

Cheers!

Смежные вопросы