在我的应用程序中,我试图从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];
}
谢谢!
答案 0 :(得分:0)
从第一眼看,我会说问题出在你的[self.navigationController pushViewController]方法中。您是否在应用程序委托或根视图控制器中的应用程序中启动了导航控制器?
如果不是我会建议:
[self presentViewController:aaoversik1 animated:YES completion:NULL];
如果您想要通过导航堆栈以便有一个后退按钮,那么我会看一下实现UINaviationController。
否则你可以创建一个自定义后退按钮并在这篇文章中使用相同的方法来呈现根视图控制器(不完全推荐使用UINavigationController更加清晰)。
如果这有任何帮助,请告诉我,T