【问题标题】:Background color (colorWithPatternImage) not filling entire view for iPad背景颜色(colorWithPatternImage)没有填充 iPad 的整个视图
【发布时间】:2012-01-28 21:25:15
【问题描述】:

我正在尝试使用我拥有的方格图像设置背景颜色。我目前在我的 iPhone 应用程序中使用它,现在正在尝试创建一个通用应用程序。当我使用这个时:

 UIImage *bgimg = [UIImage imageNamed:@"square_bg.png"];
 self.view.backgroundColor = [UIColor colorWithPatternImage:bgimg];

它适用于我的 iPhone 应用程序。当它在 iPad 上以纵向模式加载时,底部有大约 20 像素的空白区域。当它以横向加载时,它很好。如果我从纵向旋转到横向,然后再旋转回来,也可以。

我缺少什么会一直填充模式直到我的视图底部?

更新

如果我将颜色设置为纯色 [​​UIColor blueColor],则整个屏幕将正确填充。那么为什么 colorWithPatternImage 和纯色会有差异呢?

更新 2

我使用的文件是一个尺寸为 252x230 的 PNG 文件。我已使用此图像在此应用程序的 iPhone 版本中制作图案,没有任何问题。我不确定文件大小或尺寸是否对这个问题有任何影响,但我想我会把它放在那里以防万一。

【问题讨论】:

  • Core Graphics 将从视图的左下角开始绘制您的图案图像。您可以使用带边框的图案图像进行测试,以查看图像是否被 1) 剪裁或 2) 添加边距?
  • 我会试一试,然后告诉你。

标签: ios uiviewcontroller background-color uicolor


【解决方案1】:

也许视图没有设置为正确的高度。如果将 backgroundColor 更改为纯色,它会填满整个屏幕吗?

【讨论】:

  • 是的,确实如此。如果我用 blueColor 替换 colorWithPatternImage,我会得到一个全屏的蓝色,没有问题。
【解决方案2】:

20px 听起来像状态栏高度。你能告诉我们视图框架吗?

您的自动调整大小是否正确设置为动态宽度和高度以及固定边框?

【讨论】:

  • 我觉得自己像个白痴。我回去检查所有尺寸,并为此视图设置了状态栏,导致事物发生了 20 像素的偏移。当我关闭状态栏时,一切都正确填写。仍然很好奇为什么它不会在横向模式下影响它。但是问题已经解决了。
  • 我认为它与自动调整大小有关。我在导航控制器及其导航栏上遇到了类似的问题。在横向启动或第一次旋转后也能正常工作。
猜你喜欢
  • 2014-08-28
  • 1970-01-01
  • 2023-03-18
  • 2021-07-17
  • 2020-12-12
  • 1970-01-01
  • 2023-03-25
  • 2015-10-23
  • 1970-01-01
相关资源
最近更新 更多