навигация не работает в цели c - PullRequest
0 голосов
/ 29 декабря 2011

Я создал приложение для iPad, в котором навигация не работает, например, по щелчку ячейки tableView, оно должно перейти к новому представлению.

фрагмент кода для того же:

appDelegate.m

-(void)applicationDidFinishLaunching:(UIApplication *)application {    

UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:viewController];   
[window addSubview:navController.view];
[window addSubview:viewController.view];
[window makeKeyAndVisible];
}

После этого я создаю UIViewControllerSubclass, crollnext .

Внутри этого файла я выполняю некоторую операцию и, наконец,в моем mainViewController

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

    crollnext *crollController =[[crollnext alloc]initWithNibName:@"crollView" bundle:nil];

    [self.navigationController pushViewController:crollController animated:YES];
    [crollController changeProductText:[tableData objectAtIndex:indexPath.row]];
}
}

Я сделал какую-либо ошибку в коде?

вот скриншот

screen Спасибо вAdvance

Ответы [ 5 ]

2 голосов
/ 29 декабря 2011

удалить эту строку

[window addSubview:viewController.view];
2 голосов
/ 29 декабря 2011
[window addSubview:navController.view];
[window addSubview:viewController.view];

Обратите внимание, что вы добавляете свой viewController.view поверх стека представлений окна после добавления вашего navController.view.Что вы должны сделать, это что-то вроде этого:

 UINavigationController navController=[[UINavigationController alloc] initWithRootViewController:viewController];
[window addSubview:navController.view];

NavController, для себя ничего не значит.Вам нужно заполнить его чем-нибудь (в данном случае ваш viewController как rootViewController.

1 голос
/ 29 декабря 2011
UINavigationController *navigationController=[[UINavigationController alloc] initWithRootViewController:viewController];
[self.window addSubview:navigationController.view];
1 голос
/ 29 декабря 2011

Прежде всего, что такое viewController объект в вашем методе делегата приложения.Кроме того, почему вы добавляете представление viewController к window.Вы добавили это как корневое представление для navigationController, которое было добавлено к window.Таким образом, вам не нужно добавлять представление viewController к window.

0 голосов
/ 29 декабря 2011

Не добавляйте представления из ваших контроллеров представления как subviws к вашему окну.Вместо этого установите свойство окна rootViewController на свой контроллер навигации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...