将背景图像加载为视图时出现小的白色间隙
Posted
技术标签:
【中文标题】将背景图像加载为视图时出现小的白色间隙【英文标题】:small white gap when loading a background image as view 【发布时间】:2011-08-06 01:50:23 【问题描述】:我的 viewWillAppear 中有以下代码:
- (void) viewWillAppear:(BOOL)animated
self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"background.png"]];
[super viewWillAppear:animated];
但是,为什么第一次加载时,我会在屏幕底部看到一个白色的间隙? background.png 大小为 640x960 像素。如果我导航到另一个视图控制器并返回到这个视图控制器,这个差距就会消失。这是应用程序首次启动时加载的第一个视图。任何人都知道为什么会发生这种情况?
截图如下:
更新:
似乎20px的白色间隙来自MainWindow.xib,不知道为什么我们仍然可以看到它,虽然我已经将视图添加为子视图,它应该覆盖所有。又为什么从另一个视图回来后又覆盖了一切?
这是您can download to show the issue的示例项目
【问题讨论】:
这个差距高20点吗?听起来您的视图或其中一些超级视图的高度为 460 点(屏幕的 480 - 20 距离状态栏),但它的原点位于状态栏下方的 (0, 0)。 我猜它应该是状态栏的大小...但我不知道这是怎么发生的 【参考方案1】:我猜你想为整个视图流设置背景视图。
设置好了
_window.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"pause-background.png"]];
和
self.view.backgroundColor = [UIColor clearColor];
【讨论】:
以上是关于将背景图像加载为视图时出现小的白色间隙的主要内容,如果未能解决你的问题,请参考以下文章