PresentModalViewController не показывает панель навигации при следующем просмотре - PullRequest
11 голосов
/ 19 мая 2011

Здравствуйте. Я использую кнопку панели вкладок «Одна» на панели инструментов, эта кнопка отображает следующий вид с представлением таблицы. Вот мой кодпоказ следующего представления с табличным представлением, но без панели навигации.из-за этого я не могу выполнить операцию удаления в tableView.

Как решить проблему?

Ответы [ 5 ]

38 голосов
/ 19 мая 2011

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

Попробуй так:

NextViewController *nextViewController=[[NextViewController alloc]initWithNibName:@"NextViewController" bundle:nil];
UINavigationController *navBar=[[UINavigationController alloc]initWithRootViewController:nextViewController];
[self.navigationController presentModalViewController:navBar animated:YES];
[navBar release];
[nextViewController release];

см. Этот вопрос stackoverflow для опции редактирования.

Вы можете просто добавить кнопку на панель навигации с легкостью

self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(editTable)] autorelease];

-(void)editTable{
[tableView setEditing: YES animated: YES];
}

Всего наилучшего.

3 голосов
/ 05 января 2012

Этот код вызывается при событии нажатия кнопки в VC классаA:

ClassBVC* bVc = [[ClassBVC alloc] initWithNibName:@"ClassBVC" bundle:nil];
     UINavigationController* tempNavCon = [[UINavigationController alloc]    initWithRootViewController:bVc];
    [self presentModalViewController:tempNavCon animated:YES];
    [tempNavCon release];
    [bVc release];
    bVc = nil

;

и в представлении класса BVC загрузил ли вы элемент UIbarbutton, например:

UIBarButtonItem* barButton = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:self action:@selector(backButtonClicked:)];
    [barButton setTitle:@"Back"];
    [self.navigationItem setLeftBarButtonItem:barButton];
    [barButton release];

А в кнопке ClickedMethod просто отклоните модель контроллера как:

-(void)backButtonClicked:(id)sender
{
    [self dismissModalViewControllerAnimated:YES];
}
1 голос
/ 25 июня 2013

Это потому, что вы используете Modal для переноса нового контроллера вида.

Модально добавленный / представленный контроллер вида не будет добавлен в стек контроллера навигации

0 голосов
/ 19 мая 2011

Добавление панели навигации в качестве дополнительного вида к новому виду с помощью кнопки панели.

Попробуйте это

-(IBAction) editClick:(id)sender
{
    [tableView setEditing:![tableView isEditing]  animated:YES];
}
0 голосов
/ 19 мая 2011

, если вы используете навигационный контроллер, используйте вот так

[self.navigationController pushViewController:nextController animated:YES];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...