Подтвердить что ты не робот

Представление модального представления с использованием анимации затухания

Я представил экран входа в систему следующим образом. Исправьте меня, если я не прав.

   UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
   UIViewController *ivc = [storyboard instantiateViewControllerWithIdentifier:@"login"];//LOOK AT NEXT LINE
   [self presentViewController:ivc animated:YES completion:nil];

Появится экран входа в систему, но анимация - слайд вверх. Я предпочитаю исчезать и исчезать нашей анимацией. Как я могу это сделать?

4b9b3361

Ответ 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