Проблемы с UINavigationBar после применения масштабного преобразования - PullRequest
0 голосов
/ 30 октября 2018

Я пытаюсь реализовать презентацию UIViewController и интерактивное увольнение, как в случае со стандартным музыкальным приложением Apple.

Я реализовал аниматор UIViewController для представления и увольнения, а также UIPercentDrivenInteractiveTransition для взаимодействия при увольнении. Все работает нормально, до сих пор, когда я добавил масштабную анимацию на фон UIViewController.

[UIView animateWithDuration:kAnimationDuration delay:0.0 usingSpringWithDamping:0.8 initialSpringVelocity:0.25 options:0 animations:^{
    toVC.view.frame = finalFrame;
    appTabBarController.view.transform = CGAffineTransformMakeScale(0.95, 0.95);
} completion:^(BOOL finished) {
    [transitionContext completeTransition:!transitionContext.transitionWasCancelled];
}];

По какой-то причине, когда происходит анимация, верхняя часть UINavigationBar обрезается, а затем возвращается к полному размеру, как только вы начинаете взаимодействовать с аниматором увольнения.

Это лучше всего иллюстрируется скриншотами (я применил красную рамку к слою вида).

Перед тем UINavigationBar clipped

После UINavigationBar proper size

Кто-нибудь знает причину, по которой UINavigationBar рисует так?

...