Представление и отклонение модального представления в ios 7
У меня есть контроллер вида, на котором есть кнопка. Кнопка - это Политика конфиденциальности. Когда он щелкнул, он переходит к соответствующему IBAction, и я создаю контроллер конфиденциальности.
- IBAction ...
{
PrivacyPolicyViewController *privacy = [[PrivacyPolicyViewController alloc] init];
.....
}
Я хочу создать модальный вид контроллера конфиденциальности, который имеет UIWebView, который анимирует себя вверх и кнопку возврата, чтобы закрыть его в ios 7. Пути, которые я вижу в Интернете, - это ios 6 и кажутся устаревшими.
Ответы
Ответ 1
Используйте что-то вроде этого:
// assuming your controller has identifier "privacy" in the Storyboard
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
PrivacyPolicyViewController *privacy = (PrivacyPolicyViewController*)[storyboard instantiateViewControllerWithIdentifier:@"privacy"];
// present
[self presentViewController:privacy animated:YES completion:nil];
// dismiss
[self dismissViewControllerAnimated:YES completion:nil];
Ответ 2
[self presentmodalviewcontroller:vc];
устарел.
вы можете попробовать
[self presentViewController:viewController animated:YES completion:nil];
он будет работать для вас.
Ответ 3
Если вы используете раскадровки, вы можете использовать segue для представления модального контроллера представления, а также делать это программно.
- В своем раскадровке ctrl + перетащите значок "Файл" в панели под стартовым представлением в представление, которое вы хотите представить модально, отпустите и выберите "модальный".
- щелкните значок segue, а затем в инспекторе атрибутов укажите идентификатор, например "toNewView".
- в вашем файле .m файла с начальным представлением используйте этот код для выполнения модального сегмента:
[self performSegueWithIdentifier:@"toNewView" sender:self];
Это хороший чистый способ сделать это, потому что вам не нужно импортировать файл .h, чтобы создать экземпляр второго объекта контроллера для метода presentViewController
.
Чтобы отклонить его, вы просто используете разматывать сегмент.
Ответ 4
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
taskQueeDetails *privacy = (taskQueeDetails*)[storyboard instantiateViewControllerWithIdentifier:@"taskQueeDetails"];
// Present the modal
[self presentViewController:privacy animated:YES completion:nil];
используйте код и измените строку instantiateViewControllerWithIdentifier: @ "taskQueeDetails" ];
он будет работать нормально