iOS - 目前的模态视图控制器会导致一些动画伪影(iPhone)

Posted

技术标签:

【中文标题】iOS - 目前的模态视图控制器会导致一些动画伪影(iPhone)【英文标题】:iOS - presentModalViewController causes some animation artefacts (iPhone) 【发布时间】:2012-10-11 21:35:54 【问题描述】:

我将 UIToolbar(带有一些按钮)显示为当前顶部窗口的子视图。这工作正常。 在某些时候,我想在 UIToolbar 上显示一个模式对话框(使用 presentModalViewController)。

我尝试以多种方式隐藏它(removeFromSuperview、sendSubviewToBack、setHidden、将帧大小更改为 0 等等),但是当最常见的 UIToolbar 看起来几乎消失但仍然显示一些时,它们都会导致一些动画副作用背景上的褪色按钮。

现在尝试解决这个问题几天。我做错了什么还是只是一个错误?

谢谢:)

【问题讨论】:

你的目标是什么?从 ios6 开始,presentModalViewController 已弃用。将presentViewController:animated:completion:dismissViewControllerAnimated:completion: 配对使用,并将modalPresentationStyle 设置为UIModalPresentationFormSheet 谢谢!我接受了你的建议,也发现了我犯的一些愚蠢的错误。现在完美运行... 【参考方案1】:

在隐藏之前尝试隐藏 UIToolBar 上的所有按钮,如下所示:

NSMutableArray *toolbarButtons = [self.toolbarItems mutableCopy];
[toolbarButtons removeAllObjects];
[self setToolbarItems:toolbarButtons animated:NO];

【讨论】:

以上是关于iOS - 目前的模态视图控制器会导致一些动画伪影(iPhone)的主要内容,如果未能解决你的问题,请参考以下文章

部分卷曲过渡导致控件调整大小

iPhone 模态视图动画帮助

转换到带键盘可见的模态视图控制器

iOS 8 viewDidLoad 模态演示导致多个演示

快速的音量变化会导致 AVAudioPlayer 中的伪影

ios标签栏点击显示模态视图黑屏