【问题标题】:Background color iOS 6 for application in landscape mode横向模式下应用程序的背景颜色 iOS 6
【发布时间】:2013-01-15 05:22:57
【问题描述】:

我在viewWillAppear函数中有如下代码:

CAGradientLayer *bgLayer = [BackgroundLayer yellowGradient];
[bgLayer setBounds:self.view.bounds];
[self.view.layer insertSublayer:bgLayer atIndex:0];

它在纵向上完美运行。但是,当设备进入横向模式时,它会在侧面产生白色(或默认颜色)背景。我已经看到了为什么会发生这种情况的其他示例,但没有关于如何解决它。

我看到的情况是横向 (iPad) 上的 1024 分辨率降至 1004,我认为它正在将其调整为 0,20 x, y

有没有其他人遇到过这个问题并找到了解决方法?

【问题讨论】:

  • 您是否正确设置了视图的 autoresizingMask 属性?

标签: ios background


【解决方案1】:

这是因为当您将屏幕侧向时,具有一定背景颜色的视图不会侧向。视图保持纵向。所以你有这个面向纵向的彩色视图,它从 iPad 的“顶部”到屏幕下方的远方,而在右侧,视图不够宽,无法触及,所以您只会看到应用的默认(白色)背景颜色。

你可以:

  • CGAffineTransformMakeRotation 旋转应用到您的self.view 90º,以便它现在可以在您现在的横向应用程序中正确显示,
  • 让您的视图足够大,以覆盖整个设备(横向和纵向),
  • 制作具有适当横向尺寸的视图,并在 iPad 旋转时添加它,或者
  • 在 Xcode 主项目文件中禁用那些允许的界面方向。

链接到CGAffineTransformRotation SO 上的演示代码:How to use CGAffineTransformMakeRotation?

【讨论】:

  • 哦....我从来没有使用过 CGTransform 函数。但我不知道为什么我没有想到其他解决方案。德尔。让我试一试,看看它是否有效。
  • 没用......要么我做错了(可能),要么它仍然在纵向与横向之间摇摆。我真的认为将视图放入情节提要然后像你一样调整它说会工作。景色很完美,颜色还是乱七八糟。
  • 得到它的工作感谢阿尔伯特!我阅读了另一位开发人员/设计师的文章,其中指出。模糊发展层次是不明智的。如果它的设计让你的设计师使用为它设计的工具。不要在代码中重新创建效果,因为它可能没有那么有用....
猜你喜欢
  • 2015-06-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-19
  • 2012-07-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多