загрузка вида снизу не заполняет весь вид - PullRequest
0 голосов
/ 08 января 2020

Я использую этот код для загрузки представления, когда я нажимаю кнопку в Xcode.

UIStoryboard *storyboard = self.storyboard;
UIViewController *svc = [storyboard instantiateViewControllerWithIdentifier:@"FirstCar"];[self presentViewController:svc animated:YES completion:nil];

Вид загружается снизу, а я sh не загружается, а загружается сбоку. Основная проблема заключается в том, что при окончании загрузки sh в верхней части имеется зазор около 1/2 дюйма. Я использовал этот код, чтобы загрузить его выше верхнего размера экрана в зависимости от размера.

backgroundView = [[UIImageView alloc] initWithFrame:CGRectMake(-20, -20, 454, 776)];

Раньше он работал нормально, но теперь по какой-то причине это не так. И когда я поднимаю / удерживаю объект, чтобы переместить его с помощью «DragView», объект движется рывками, но весь вид движется вверх и вниз. Я даже могу заставить содержимое представлений полностью исчезать, проводя вниз. Это не go предыдущий вид, просто полностью пустой черный. Я не знаю, связано ли это, но что-то странное. У кого-нибудь есть идеи, что я делаю не так. Заранее спасибо.

1 Ответ

0 голосов
/ 08 января 2020

То, что вы описываете, является поведением по умолчанию представленного контроллера представления в iOS 13 - представленные VC скользят снизу и оставляют зазор вверху (указывая, что пользователь может отклонить, перетаскивая вниз).

Вы можете устранить разрыв (и поведение смахивания), установив представленные V C s modalPresentationStyle в полноэкранный режим, например:

svc.modalPresentationStyle = UIModalPresentationFullScreen;

Добавьте эту строку перед вызовом настоящего (или вы можете установить это значение в вашей раскадровке), и вы должны увидеть его на экране. Документацию по другим стилям презентации можно найти в документации Apple

Что касается упомянутой вами анимации справа налево, то боковое скольжение обычно связано с толчками контроллера UINavigation, а не с модальным презентаций, но, как упоминалось в в этом посте , вы можете добиться боковой анимации на модале, используя пользовательский переход.

Вот соответствующий код в этом посте:

CATransition *transition = [[CATransition alloc] init];
transition.duration = 0.5;
transition.type = kCATransitionPush;
transition.subtype = kCATransitionFromRight;
[transition setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
[self.view.window.layer addAnimation:transition forKey:kCATransition];
[self presentViewController:svc animated:false completion:nil];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...