gpt4 book ai didi

iOS 8 - 使用自定义演示关闭 View Controller 后屏幕空白

转载 作者:IT老高 更新时间:2023-10-28 11:27:06 26 4
gpt4 key购买 nike

当使用 UIModalPresentationCustom 关闭各种 View Controller 时,关闭 View Controller 后屏幕变黑,就好像所有 View Controller 都已从 View 层次结构中删除一样。

transitioning delegate 设置正确,animationControllerForPresentedController 被请求并正确传递,动画结束后transition 完成。

这个确切的代码在使用 iOS 7 SDK 编译时可以完美运行,但在使用 iOS 8b5 编译时会损坏

最佳答案

这是因为您很可能同时添加了演示文稿

[transitionContext viewControllerForKey:UITransitionContextFromViewControllerKey]

和呈现的

[transitionContext viewControllerForKey:UITransitionContextToViewControllerKey]

在动画 Controller 的 (void)animateTransition:(id )transitionContext 方法中查看 Controller 到您的 containerView。由于您使用的是自定义模态展示,展示 View Controller 仍显示在展示的 View Controller 下方。现在因为它仍然可见,您不需要将它添加到容器 View 中。而是只将呈现的 View Controller 添加到 containerView。在你的 animateTransition: 方法中应该看起来像这样

UIView *containerView = [transitionContext containerView];
UIViewController *fromViewController = [transitionContext viewControllerForKey:UITransitionContextFromViewControllerKey];
UIViewController *toViewController = [transitionContext viewControllerForKey:UITransitionContextToViewControllerKey];

// Boolean value to determine presentation or dismissal animation
if (self.presenting){
[transitionContext.containerView addSubview:toViewController.view];
// Your presenting animation code
} else {
// Your dismissal animation code
}

关于iOS 8 - 使用自定义演示关闭 View Controller 后屏幕空白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25588617/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com