Кнопка панели навигации не может вернуться к предыдущему виду

58
6

Я следил за информацией, которую я нашел в Интернете, и мне удалось показать кнопку, но когда я нажал на нее, ничего не происходит. Я новичок в программировании на iOS, и я не уверен, что я сделал что-то неправильно.

UIImage *backImage = [UIImage imageNamed:@"backIcon.PNG"];
// create the button and assign the image to the button
UIButton *backButton = [UIButton buttonWithType:UIButtonTypeCustom];
[backButton setImage:backImage forState:UIControlStateNormal];
backButton.frame = CGRectMake(0, 0, backImage.size.width, backImage.size.height);

[backButton addTarget:self action:@selector(goBack:) forControlEvents:UIControlEventTouchUpInside];

UIBarButtonItem *customBarButton = [[UIBarButtonItem alloc] initWithCustomView:backButton];
self.navigationItem.hidesBackButton = YES;
self.navigationItem.leftBarButtonItem = customBarButton;

и этот код для кнопки

- (void)goBack:(id)sender {
[self.navigationController popViewControllerAnimated:YES]; }

благодаря

спросил(а) 2013-10-23T04:44:00+04:00 7 лет назад
1
Решение
91

Сначала вам не нужно скрывать кнопку "Назад", поскольку вы добавляете свои собственные, а затем попробуйте заменить кнопку "Цель" следующим образом:

[backButton addTarget:self.navigationController action:@selector(popViewControllerAnimated:) forControlEvents:UIControlEventTouchUpInside];

Редактировать:

Правильный способ использования navigationController в раскадровке будет выглядеть следующим образом:

1- Добавить UInavigationController.

2- Добавить отношение rootViewController к первому VC1.

3- Добавить push segue от VC1 до VC2.

Благодаря этому вы можете правильно нажать и поместить свой VC2.

Прочтите этот учебник для лучшего понимания раскадровки, segues и навигации.

ответил(а) 2013-10-23T08:01:00+04:00 7 лет назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема