0

在我的应用程序中,我试图从 TableViewCell 导航到新视图,但我不知道如何。你能帮助伙计们吗?我正在使用 Xcode 4.6。和.xib,没有故事板。我对编码很陌生,所以请尽可能简单地解释它!这是我尝试过的,请纠正我:

- (void)viewDidLoad
{
tableData = [[NSArray alloc] initWithObjects:@"aaoversikt1", @"Paul", @"George", @"Ringo", nil];
[super viewDidLoad];
UILabel *nav_title1 = [[UILabel alloc] initWithFrame:CGRectMake(60, 10, 220, 25)];
nav_title1.font = [UIFont fontWithName:@"Arial-BoldMT" size:18];
nav_title1.textColor = [UIColor whiteColor];
nav_title1.adjustsFontSizeToFitWidth = NO;
nav_title1.textAlignment = NSTextAlignmentCenter;
nav_title1.text = @"Ålesund";
nav_title1.backgroundColor = [UIColor clearColor];
self.navigationItem.titleView = nav_title1;
}

#pragma mark - TableView Data Source methods

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:        (NSInteger)section;
{
return [tableData count];
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;
{
UITableViewCell *cell = nil;

static NSString *CellIdentifier = @"Cell";

cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

if (cell == nil)
{
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}

cell.textLabel.text = [tableData objectAtIndex:indexPath.row];

return cell;
}

#pragma mark - TableView Delegate methods

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
AAOversiktViewController *aaoversikt1 = [[AAOversiktViewController alloc] initWithNibName:@"AAOversiktViewController" bundle:nil];
[self.navigationController pushViewController:aaoversikt1 animated:YES];
}

谢谢你!

4

1 回答 1

0

乍一看,我会说问题出在您的 [self.navigationController pushViewController] 方法中。您是否在应用程序委托或根视图控制器中启动了应用程序中的导航控制器?

如果不是,我会推荐:

 [self presentViewController:aaoversik1 animated:YES completion:NULL];

如果您想推动导航堆栈以便有一个后退按钮,那么我会考虑实现一个 UINaviationController。

否则,您可以创建一个自定义后退按钮并使用本文中的相同方法来呈现根视图控制器(不完全推荐使用 UINavigationController 更清洁)。

让我知道这是否有任何帮助,T

于 2013-03-05T01:20:18.727 回答