Mar*_*k S 6 background image uiview ios6
对于我的应用程序的加载屏幕和启动画面,我用了两种不同的方法来适当地显示我的iPhone 3,iPhone 4和iPhone 5图像.
对于加载屏幕,只需在图像中添加-568h @ 2x即可支持iPhone5.
对于启动画面,我使用了一系列(if height ==)个案来检查UIScreen界限的高度,并将相应的图像提供给图像视图.在这里我很明显,-568h并不是普遍认为的iPhone 5图像.它仅适用于加载屏幕.
现在,在我的AppDelegate中,我正在设置背景图像.我的所有子视图都具有透明背景,因此它们应该显示在背景图像中.但是,我在这里设置背景图片最困难.
简单地传入"Background.png"将-568h @ 2x添加到文件名的末尾不起作用.它将进行非视网膜和3.5英寸视网膜显示,但不会用于4英寸显示屏.
即:
self.window.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"Background.png"]];
Run Code Online (Sandbox Code Playgroud)
如果我使用上面的代码片段,则使用iPhone4图片而不是iPhone5图片,这不是我想要的.
我开始尝试做与使用闪屏一样的事情.我有一堆if case:
CGFloat height = [UIScreen mainScreen].currentMode.size.height;
if ( height == 1136 )
{
//Choose image here
}
else if (height == 960)
{
//Choose image here
}
else if (height == 480)
{
//Choose image here
}
self.window.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:chosenImage]];
Run Code Online (Sandbox Code Playgroud)
但是colorWithPatternImage函数认为selectedImage是1点= 1像素.所以我最终得到的非视网膜图片试图装入iPhone 5屏幕.它看起来有什么特别之处?看起来只有我想要的图像的左上象限显示在整个iPhone 5屏幕上.看起来没有应用视网膜缩放.
我需要让iPhone识别我有一个视网膜友好的iPhone 5图片作为背景.我该怎么做呢?
我在这里找到了这段代码,也许它可以帮到你:
UIImage *tmpImage = [UIImage imageNamed:@"background-568h@2x.png"];
UIImage *backgroundImage = [UIImage imageWithCGImage:[tmpImage CGImage]
scale:2.0
orientation:UIImageOrientationUp];
self.window.backgroundColor = [UIColor colorWithPatternImage:backgroundImage];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1725 次 |
| 最近记录: |