UIModalTransitionStylePartialCurl Сбой моего приложения - PullRequest
1 голос
/ 22 марта 2020

Это мой файл viewController.m

- (IBAction)defaultAction:(id)sender {
    SimpleViewController *simpleView = [[SimpleViewController alloc]init];
    [self presentViewController:simpleView animated:YES completion:nil];
}

- (IBAction)flipAction:(id)sender {
    SimpleViewController *simpleView = [[SimpleViewController alloc]init];
    [simpleView setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal];
    [self presentViewController:simpleView animated:YES completion:nil];

}

- (IBAction)dissolveAction:(id)sender {
    SimpleViewController *simpleView = [[SimpleViewController alloc]init];
    [simpleView setModalTransitionStyle:UIModalTransitionStyleCrossDissolve];
    [self presentViewController:simpleView animated:YES completion:nil];
}



- (IBAction)pageCurlAction:(id)sender {

    SimpleViewController *simpleView = [[SimpleViewController alloc]init];
    [simpleView setModalTransitionStyle:UIModalTransitionStylePartialCurl];
    [self presentViewController:simpleView animated:YES completion:nil];

}

У меня есть другой класс SimpleViewController. В этом классе есть действие кнопки, подобное этому.

- (IBAction)dismissMeAction:(id)sender {
    [self dismissViewControllerAnimated:YES completion:nil];
}

Мои значения по умолчанию, flip и кнопка растворения работает хорошо, но когда я нажимаю pageCurl мои приложения вылетает. В чем причина этого?

1 Ответ

1 голос
/ 22 марта 2020

UIModalTransitionStylePartialCurl - это стиль, который требует дополнительной специальной настройки. Вот от Apple do c:

Объявление

UIModalTransitionStylePartialCurl Обсуждение

Когда представлен контроллер представления, один угол текущего представления свернется, чтобы показать представленный вид снизу. При увольнении свернутая страница разворачивается на вершине представленного представления. Контроллер представления, представленный с использованием этого перехода, сам по себе не может представлять никаких дополнительных контроллеров представления. Этот стиль перехода поддерживается только в том случае, если родительский контроллер представления представляет полноэкранный режим и вы используете модальный стиль представления UIModalPresentationFullScreen. Попытка использовать другой форм-фактор для родительского представления или другой стиль представления вызывает исключение .

, поэтому необходимо убедиться, что self просмотр в полноэкранном режиме и добавление стиля полноэкранного представления к simpleView, как показано ниже

- (IBAction)pageCurlAction:(id)sender {

    SimpleViewController *simpleView = [[SimpleViewController alloc]init];
    [simpleView setModalPresentationStyle:UIModalPresentationFullScreen];
    [simpleView setModalTransitionStyle:UIModalTransitionStylePartialCurl];
    [self presentViewController:simpleView animated:YES completion:nil];

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...