Представление модального представления с использованием анимации затухания
Я представил экран входа в систему следующим образом. Исправьте меня, если я не прав.
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
UIViewController *ivc = [storyboard instantiateViewControllerWithIdentifier:@"login"];//LOOK AT NEXT LINE
[self presentViewController:ivc animated:YES completion:nil];
Появится экран входа в систему, но анимация - слайд вверх. Я предпочитаю исчезать и исчезать нашей анимацией. Как я могу это сделать?
Ответы
Ответ 1
Просто установите свойство modalTransitionStyle
для viewController. (Документация)
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
UIViewController *ivc = [storyboard instantiateViewControllerWithIdentifier:@"login"];
[ivc setModalTransitionStyle:UIModalTransitionStyleCrossDissolve];
[self presentViewController:ivc animated:YES completion:nil];
В Свифте:
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let viewController = storyboard.instantiateViewController(withIdentifier: "login")
viewController.modalTransitionStyle = .crossDissolve
present(viewController, animated: true, completion: nil)
Ответ 2
Swift 3, 3.1, 4, 4.2 (по состоянию на 8 ноября 2018 года)
var storyboard = UIStoryboard(name: "Main", bundle: nil)
var ivc = storyboard.instantiateViewController(withIdentifier: "login")
ivc.modalTransitionStyle = .crossDissolve
self.present(ivc, animated: true, completion: nil)
Ответ 3
Вы должны установить престиж и стиль перехода:
self.activityAlertVC.modalPresentationStyle = .custom
self.activityAlertVC.modalTransitionStyle = .crossDissolve