背景颜色(colorWithPatternImage)不能填充整个视图的iPad

问题描述:

我想设置背景颜色与我有一个方格的图像。我目前正在iPhone应用程序中使用此功能,现在正在尝试创建一个通用应用程序。当我使用这个:背景颜色(colorWithPatternImage)不能填充整个视图的iPad

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

它工作正常的我的iPhone应用程序。当它以纵向模式加载到iPad上时,底部会有大约20px的空白空间。当它在横向加载时,它很好。如果我从肖像旋转到风景,然后再回来,这也很好。

我错过了什么,将填充模式一直到我的观点的底部?

更新

如果我的颜色设置为纯色,[的UIColor blueColor],则整个屏幕正确填写英寸那么为什么colorWithPatternImage与纯色之间的差异呢?

更新2

我使用的文件是的252x230尺寸的PNG文件。我已经使用这个图像来制作这个应用的iPhone版本中的模式,没有任何问题。我不确定文件大小或尺寸是否与这个问题有关,但我想我会把它放在那里以防万一。

+0

Core Graphics将从视图的左下角开始绘制图案图像。您可以使用带边框的图案图像进行测试,以查看图像是否正在剪裁,或者2)是否添加了边距? – 2012-01-06 19:52:06

+0

我会试一试,让你知道。 – 2012-01-06 20:07:35

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

您的自动设置是否正确设置为动态宽度&高度和固定边框?

+0

我有点像一个白痴。我回去检查所有的尺寸,并且为这个视图设置了状态栏,导致了20px的变化。当我关闭状态栏时,所有内容都可以正确填写。仍然好奇为什么它不会在横向模式下影响它。但问题解决了。 – 2012-01-07 16:04:25

+0

我认为它与自动调整连接。我遇到类似的问题,导航控制器及其导航栏。在横向或第一次旋转后启动时也可以正常工作。 – Sulthan 2012-01-07 17:41:31

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

+0

是的,它的确如此。如果我用blueColor替换colorWithPatternImage,我会看到全屏的蓝色,没有问题。 – 2011-12-28 12:39:37