У меня есть приложение, основанное на навигации, поэтому все представления по умолчанию имеют верхнюю панель навигации. Я достиг страницы, где по какой-либо причине по умолчанию не отображается обратная кнопка, и я должен был добавить ее программно. К сожалению, кнопка «Назад» не отменяет модальный вид, как ожидалось.UINavigationBar, кнопка назад и cancelModalViewController
загружаю мнение в вопросе через:
-(IBAction) linkPress:(id)sender
{
potentialUrl = [[NSURL alloc] initWithString:((Button*)sender).emailContent];
webViewInst = [[WebView alloc] initWithNibName:@"WebView" bundle:nil url:potentialUrl];
NSString *deviceType = [UIDevice currentDevice].model;
if([deviceType isEqualToString:@"iPad"] || [deviceType isEqualToString:@"iPad Simulator"]){
[self presentModalViewController:webViewInst animated:YES];
}
else {
[self.navigationController pushViewController:webViewInst animated:YES];
}
}
добавить кнопку назад через:
UIBarButtonItem *MKbackBtn = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:self action:@selector(backButton:)];
[self.navigationItem setLeftBarButtonItem:MKbackBtn];
и действие, что кнопка спина должна принять, чтобы удалить представление и вернуться к предыдущий вид:
-(IBAction)backButton:(id)sender
{
UIViewController* parent = [self parentViewController];
if(parent==nil) {
parent = [self presentingViewController];
}
[parent dismissModalViewControllerAnimated:YES];
}
Если другой набор глаз мог пройти через эти биты кода и попытаться узнайте, какую ошибку я сделал, это было бы очень признательно! Я более чем готов предоставить дополнительную информацию/код.
Спасибо!
Насколько я могу судить, я не могу использовать 'popViewController'. Как я могу подтвердить, что я не делаю то, что вы предлагаете, проблема может быть? Я думаю, что я не понимаю вас где-то там. – VonKoob
Ах, моя ошибка. Я смог использовать 'popviewController' для выполнения функции, которую я хотел, я просто замалчивал небольшую ее часть, которая предотвратила автозаполнение. Кроме того, почему представление было введено в navStack, а не как ModalViewController? – VonKoob
Удивительный! Я просто хотел сказать, что считаю, что вы можете проверить стиль презентации себя и использовать это как условие для выбора метода увольнения ... в основном, в вашем первом блоке кода вы используете модальный для ipad, но navstack для iphone , Я предполагаю, что вы тестировали по телефону, что означало, что команда rejectModal не работает, потому что viewController не был представлен модально, нет? –