【问题标题】:UIView with transparent background flickers on presentation具有透明背景的 UIView 在演示文稿中闪烁
【发布时间】:2013-08-07 16:49:08
【问题描述】:

我有一个非常简单的视图控制器,它在它的 init 中执行此操作:

self.view.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.65];

当视图作为已经在屏幕上的视图的子视图添加时,它的背景会闪烁黑色(忽略 alpha),然后返回正确的颜色(带有 alpha)。当 alpha 为 0(不足为奇)或 1(不足为奇)时,不会发生闪烁。请注意,我没有触及视图或图层上的 alpha 或 opacity 属性,因为这会导致所有子视图也都是透明的。

关于如何解决闪烁的任何想法?

【问题讨论】:

  • 上面的代码你是用什么方法写的?
  • 它在初始化中。我在问题中说明了这一点。

标签: iphone ios uiview core-animation transparent


【解决方案1】:

我不会在视图控制器的 init 中更改 backgroundColor,而是将那行代码放在视图控制器的 viewDidLoad: 方法中。这可能会解决“闪烁”问题。

【讨论】:

  • 不行。如果它在 viewDidAppear 中,我可以看到如何解决它,但是 init 和 viewDidLoad 应该在任何渲染发生之前发生。
  • 那么您是否在 nib/storyboard 中初始化 ViewController 并覆盖 init 方法?或者你是在初始化你的 ViewController 并在代码中展示它?
  • 不。这是一个完全以编程方式完成的旧视图控制器,我正在尝试重新设置样式。
猜你喜欢
  • 2018-05-18
  • 1970-01-01
  • 2018-08-25
  • 1970-01-01
  • 2023-03-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多