как добавить навигационный контроллер в uiviewcontroller - PullRequest
1 голос
/ 10 января 2012
employeeDetailed  = [[[EmployeeDetailedViewController alloc] initWithNibName:@"EmployeeDetailedViewController" bundle:nil] autorelease];
    UINavigationController *navController = [[[UINavigationController alloc] initWithRootViewController:employeeDetailed] autorelease];
    [employeeDetailed release];
    [self.navigationController pushViewController:navController animated:YES];

Я пытаюсь сказать, что это неверный доступ. [Crash]

как решить эту проблему.

@ заранее спасибо

Ответы [ 4 ]

2 голосов
/ 10 января 2012
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    

    // Override point for customization after application launch.
    // Set the view controller as the window's root view controller and display.
    UINavigationController *navController = [[[UINavigationController alloc] initWithRootViewController:self.viewController] autorelease];
    self.window.rootViewController = navController;
    [self.window makeKeyAndVisible];

    return YES;
}



employeeDetailed  = [[[EmployeeDetailedViewController alloc] initWithNibName:@"EmployeeDetailedViewController" bundle:nil] autorelease];

[self. navigationController presentModalViewController: navController];

Это будет работать для вас, попробуйте это.

1 голос
/ 10 января 2012

В первой строке задано автоматическое освобождение (alloc / init)

Затем вы явно освобождаете контроллер представления в строке три.сбой.

Вы можете удалить строку [employeeDetailed release] , и все будет хорошо.

0 голосов
/ 16 декабря 2012

Лучший способ представить Navigation Controller в определенной части в вашем Приложении - это:

MyViewController *myViewController = [[MyViewController alloc]initwithnibname :@"MyViewController"];
    UINavigationController *myNavC = [[UINavigationController alloc]initWithRootViewController:myViewController];

Тогда в вашем myViewController.m используйте

[self.NavigationController pushViewController: XController animated:YES]; 
0 голосов
/ 10 января 2012

Вы не можете добавить UINavigationController в существующий стек навигации. Вместо этого вам нужно показать новый модальный контроллер навигации, например:

employeeDetailed  = [[[EmployeeDetailedViewController alloc] initWithNibName:@"EmployeeDetailedViewController" bundle:nil] autorelease];
UINavigationController *navController = [[[UINavigationController alloc] initWithRootViewController:employeeDetailed] autorelease];
[self presentModalViewController: navController];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...