Представление и отклонение модального представления в 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" ]; он будет работать нормально