В моем приложении у меня есть контроллер навигации с табличным представлением, а при нажатии кнопки открывается контроллер табуляции. На первой вкладке я хочу, чтобы заголовок навигационной панели был установлен.
Вот изображение моей раскадровки, чтобы убедиться, что мы разобрались друг с другом.
Это мой код, который должен работать. Я использовал этот код при попытке открыть один вид, а не контроллер табуляции, и он работал правильно. Поэтому, я думаю, я должен что-то изменить.
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
SkiCenter *myDetViewCont = [[SkiCenter alloc] initWithNibName:@"SkiCenter" bundle:[NSBundle mainBundle]];
myDetViewCont.ski_center = [centers objectAtIndex:indexPath.row];
UIStoryboard * storyBoard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
[[self navigationController] pushViewController:[storyBoard instantiateViewControllerWithIdentifier:@"SkiCenterIds"] animated:YES];
//[self.navigationController pushViewController:myDetViewCont animated:YES]; // "Pushing the controller on the screen"
[myDetViewCont release]; // releasing controller from the memory
myDetViewCont = nil;
}
Где Skicenter
- это имя класса для моей первой вкладки, а SkiCenterIds
- идентификатор моего контроллера вкладок в раскадровке.
Код в Skicenter
.m:
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
self.navigationItem.title = ski_center;
}
но я не вижу никакого названия. Так что я сделал не так? Я также пробовал это:
[self.navigationController setTitle:@"Live"];
или
self.title=ski_center;
Значение ski_center имеет значение, поскольку оно обычно печатается в NSLog.