Как открыть представление с помощью popViewControllerAnimated, нажав на кнопку из подпредставления? - PullRequest
0 голосов
/ 17 сентября 2011

Я создаю браузер фотографий.

Пользователь выбирает ячейку из UITableView и помещает ее в вид браузера фотографий, используя UINavigationController.

В моем «PhotoBrowser»..m ", у меня есть:

    //Caption UIView
    CGRect capFrame = CGRectMake(1024-400, 0, 400, 768);
    overlayWindow = [[UICaptionOverlay alloc] initWithFrame:capFrame];
    overlayWindow.backgroundColor = [UIColor clearColor];
    [self addSubview:overlayWindow];

Я вызываю подпредставление и накладываю содержимое на мое изображение.т.е. надписи на серии фотографий.

В моем подпредставлении "UICaptionOverlay.m" у меня есть кнопка:

UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(25, 300, 200, 50)];
button.backgroundColor = [UIColor blueColor];
[button setTitle:@"Return to Table View" forState:UIControlStateNormal];
[button addTarget:self action:@selector(buttonPressedClose) forControlEvents:UIControlEventTouchUpInside];
[self addSubview:button];
[button release];

Это отображает UIView с некоторыми ярлыками и кнопкойповерх моих фотографий.

Когда я нажимаю кнопку, как вернуть пользователя к UITableView и выбрать другую ячейку?

Я могу позвонить:

[photoBrowser performSelector:@selector(popViewControllerToTable) withObject:nil afterDelay:0.2];

из "PhotoBrowser.m", поэтому я знаю, что по крайней мере представление может быть извлечено.

popViewControllerToTable имеет [self.navigationController popViewControllerAnimated: YES];

Спасибо всем заранее ..

1 Ответ

0 голосов
/ 17 сентября 2011

Самый простой способ сделать это - сохранить ссылку на ваш родительский viewController в экземпляре UICaptionOverlay.

Затем вызвать его в селекторе buttonPressedClose:

[self.myParentViewController.navigationController popViewControllerAnimated:YES];

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...