【问题标题】:ios8 UIModalTransitionStylePartialCurl doesn't work properlyios8 UIModalTransitionStylePartialCurl 无法正常工作
【发布时间】:2014-09-19 05:50:31
【问题描述】:

在 ios 8 下使用 presentViewController modalTransitionStyle = UIModalTransitionStylePartialCurl 消失所有页面。 我希望它像 ios 7 一样工作。

【问题讨论】:

  • 您找到解决方法了吗?我有同样的问题。
  • 我也面临同样的问题。有什么解决办法吗?

标签: ios objective-c ios8


【解决方案1】:

我遇到了同样的问题,我应用了这个修复程序,它适用于 iOS 8 和 Xcode 6。

    [_mapToolbarController setModalTransitionStyle:UIModalTransitionStylePartialCurl];
    [self presentViewController:_mapToolbarController animated:YES completion:^{
        [_mapToolbarController.view.superview addSubview:self.view];
    }];

显然,_mapToolbarController 将是您要呈现的控制器。要了解为什么需要它,请在完成处理程序的行中添加一个断点。做动画,你会在完成处理程序中看到卷曲动画刚刚完成,一切都很好。出于某种我无法解释的原因,在 iOS 8 中,您需要告诉 iOS 框架“保留”卷曲视图并确保它不会被丢弃。完成处理程序中的代码尝试将即将褪色的卷曲视图“保留”在屏幕上。请注意,在这种情况下,self.view 是被卷曲的视图。

【讨论】:

  • 我在 iOS8 和 Xcode 7.2.1 中尝试过:虽然看起来不错,但新控制器的控件不再起作用。 self.view 中的控件似乎仍然处于活动状态。
  • @ghr 你的意思是这在 iOS 8 中对你有效,但现在在 iOS 9 中无效?
  • @ghr 我在使用 iOS 8 构建的应用商店中有一个使用此技巧的应用。但是,我还没有在 iOS 9 上尝试过。
  • 我的意思是我在 iOS8(8)和 Xcode 7.2.1 中尝试过它,它在模拟器或设备上都不起作用。我在 3 月 16 日尝试了多种变体,那天我收到了您的建议。
  • @ghr 我不确定为什么它不适合你。你想提出一个新的问题吗?我的回答至少对我有用。
【解决方案2】:

您可以随时尝试使用 iOS 7 进行自己的转换。看看HERE

【讨论】:

  • 应该支持的动画应该是Apple的工作。
【解决方案3】:

好吧,我对自己提出的解决方案并不感到自豪,但它工作得很好,而且我花了很少的时间去做。

我设法在我希望它保留的阶段获得了页面卷曲的屏幕截图。我试了几次,但我明白了。然后我将该图像放入 Pixelmator 并将其裁剪为仅卷页部分,使其他所有内容透明,并涂抹掉电池指示器、信号条和时间等无关的伪影。

我以 320、640 和 960 宽度导入了该图像,然后在加载时将其插入到我呈现的视图的顶部。结果几乎完美。我无法分辨出与以前的区别。完全按照我的意愿工作。

【讨论】:

    猜你喜欢
    • 2014-10-23
    • 1970-01-01
    • 1970-01-01
    • 2014-11-15
    • 1970-01-01
    • 2016-12-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-01
    相关资源
    最近更新 更多