ios - 将背景图像添加到 View Controller

标签 ios objective-c cocoa-touch uiviewcontroller

我试图在我的应用委托(delegate)中使用这段代码,以便将 PNG 图像添加为 View Controller 的背景:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    [[self window] setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"background.png"]]];

    return YES;
}

但我没有运气...... View Controller 仍然有白色背景。该代码有什么问题?

最佳答案

接受的答案和 Michael 的答案都可以,但是,正确的方法是改用 UIImageView。它可以根据设备上的不同屏幕尺寸更好地控制调整大小、缩放等。这是示例;

首先创建一个 UIImage。

UIImage *backgroundImage = [UIImage imageNamed:@"iphone_skyline3.jpg"];

其次创建一个UIImageView。将框架尺寸设置为 parent (自己)的框架尺寸。这很重要,因为帧大小在不同设备上会有所不同。拉伸(stretch)将根据图像大小发生。接下来将图像分配给 View 。

UIImageView *backgroundImageView=[[UIImageView alloc]initWithFrame:self.view.frame];
backgroundImageView.image=backgroundImage;

最后,要将图像保留在所有控件后面,请执行以下操作。如果您要将图像设置为应用的背景,这一点很重要。

[self.view insertSubview:backgroundImageView atIndex:0];

关于ios - 将背景图像添加到 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18720156/

相关文章:

ios - 在 XCode Swift 中将图 block 转换为 Sprite 节点

ios - 内存增加每次核心数据迭代

iphone - 时间跨度的智能格式化

iphone - 如何从 iPhone 应用程序中将用户引导至 iPhone 设置主屏幕

swift - Swift 的字符串、数组和字典是 NSObject 吗?为什么结构可以是 NSObject?

ios - FBSDK 检查用户是否已经授权应用程序 Swift

ios - SpriteKit swift : SKView returning nil

objective-c - 将 Objective-C 转换为 Swift : Assigning to self

swift - 通过社交分享到 Facebook : text is not included

ios - 如何确定是否由于单击导航 Controller 生成的后退按钮而加载了 View Controller