- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 UIViewControllerTransitioningDelegate
、UIViewControllerAnimatedTransitioning
和 UIPresentationController
为模态呈现的 View Controller 创建自定义转换。
在我呈现的 View Controller 中,我实现了 UIViewControllerTransitioningDelegate
并具有以下方法:
-(id<UIViewControllerAnimatedTransitioning>)animationControllerForPresentedController:(UIViewController *)presented
presentingController:(UIViewController *)presenting
sourceController:(UIViewController *)source {
return [[MyAnimationController alloc] initWithAnimationType:MyAnimationTypePresent];
}
- (id<UIViewControllerAnimatedTransitioning>)animationControllerForDismissedController:(UIViewController *)dismissed {
return [[MyAnimationController alloc] initWithAnimationType:MyAnimationTypeDismiss];
}
- (UIPresentationController *)presentationControllerForPresentedViewController:(UIViewController *)presented
presentingViewController:(UIViewController *)presenting
sourceViewController:(UIViewController *)source {
return [[MyPresentationController alloc] initWithPresentedViewController:presented presentingViewController:presenting];
}
现在,在我的 UIPresentationController
子类中,我在呈现的 View Controller 下方添加了一个调光 View ,并希望它随着外观过渡而淡入。
- (void)presentationTransitionWillBegin {
self.dimmingView.alpha = 0.0f;
[self.containerView insertSubview:self.dimmingView atIndex:0];
[self.dimmingView autoPinEdgesToSuperviewEdges];
[self.presentedViewController.transitionCoordinator animateAlongsideTransition:^(id<UIViewControllerTransitionCoordinatorContext> _Nonnull context) {
self.dimmingView.alpha = 1.0f;
}
completion:nil];
}
- (void)dismissalTransitionWillBegin {
[self.presentedViewController.transitionCoordinator animateAlongsideTransition:^(id<UIViewControllerTransitionCoordinatorContext> _Nonnull context) {
self.dimmingView.alpha = 0.0f;
}
completion:^(id<UIViewControllerTransitionCoordinatorContext> _Nonnull context) {
[self.dimmingView removeFromSuperview]; }];
}
有趣且令人沮丧的是,我呈现的 View Controller 的呈现和关闭动画按预期工作并在 MyAnimationController
中实现。至于我的调光 View 的淡入/淡出,它仅在关闭呈现的 View Controller 时才有效。呈现它时,淡入不会与过渡一起动画化,而只是使用固定的时间量。我很确定我根据 Apple 的文档和几个教程实现了所有内容,但由于某种原因,它根本无法按预期工作。关于这里可能出现的问题有什么建议吗?
最佳答案
我相信你想在演示中使用presentingViewController
的transitionCoordinator
,以及presentedViewConroller
的transitionCoordinator
关于解雇。这就是为什么它适用于解雇而不适用于您当前实现的演示。
关于ios - 在 presentationTransitionWillBegin 中使用 animateAlongsideTransition 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37810946/
我收到了来自生产环境的崩溃日志,但无法理解如何重现它。根据我掌握的信息,它在装有 iOS 9.3 的 iPad 上只发生过一次。 这次崩溃发生在我发布最新版本之后,我在其中使用了 VIPER 方法论来
我正在尝试使用 UIViewControllerTransitioningDelegate、UIViewControllerAnimatedTransitioning 和 UIPresentation
当我通过点击主 Controller 上的条形按钮项目然后旋转 View 打开弹出窗口时,我遇到了以下崩溃。 "NSGenericException: UIPopoverPresentationCon
我是一名优秀的程序员,十分优秀!