проблема в выборе ячейки UITable - PullRequest
0 голосов
/ 11 сентября 2009

хай, я закодировал в UITableview в методе следующим образом. но когда я касаюсь ячейки или строки, это не будет перейти на следующую страницу (навигация не работает). Должен ли я объявить контроллер навигации в другом файле. Но я закодировал делегат приложения в applicationdidfinishmethod для панели вкладок через динамический. Как я могу связать навигацию? код: UITableView; ( TableViewController)

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
        SubController *nextController = [[SubController alloc] init];
    [self.navigationController pushViewController:nextController animated:YES];
    [nextController release];
}

appdelegation:

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



         tabBarController = [[UITabBarController alloc] init];
    tabBarController.navigationItem.title = @" News";
    TableViewController *rtbfViewController = [[TableViewController alloc] 
         init];

    rtbfViewController.tabBarItem.title = @"News";
    InfoViewController *infoViewController = [[InfoViewController alloc] 
              initWithStyle:UITableViewStyleGrouped];
    infoViewController.tabBarItem.title = @"Info";
    tabBarController.viewControllers = [NSArray 
             arrayWithObjects:rtbfViewController,infoViewController,nil];
    tabBarController.customizableViewControllers = [NSArray arrayWithObjects:nil];


        [window addSubview:tabBarController.view];
         [window makeKeyAndVisible];
}

1 Ответ

1 голос
/ 11 сентября 2009

Проблема в том, что у вас нет UINavigationController, поэтому self.navigationController в вашем TableViewController равно нулю (и, таким образом, сообщения, отправленные в это свойство, игнорируются) Вы должны изменить свой код в делегате приложения следующим образом:

// [...] create tab bar view controller...

// create navigation controller with TableViewController instance as root view controller
TableViewController *rtbfViewController = [[TableViewController alloc] init];
rtbfViewController.tabBarItem.title = @"News";
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:rtbfViewController];

// [...] create other view controllers

// NOTE: add the navigation controller to the tab bar controller, rather than the TableViewController
tabBarController.viewControllers = [NSArray arrayWithObjects:navController,infoViewController,nil];
tabBarController.customizableViewControllers = [NSArray arrayWithObjects:nil];

И не забудьте потом отпустить свои контроллеры вида:

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