Sai*_*son 12 cocoa-touch objective-c uiviewcontroller ios
我尝试在我的app委托下使用此代码,以便将PNG图像添加为视图控制器的背景:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[[self window] setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"background.png"]]];
return YES;
}
Run Code Online (Sandbox Code Playgroud)
但我没有运气...视图控制器仍然有白色背景.这段代码出了什么问题?
had*_*lah 35
接受的答案和迈克尔的答案将起作用,但是,正确的方法是使用UIImageView代替.它可以根据设备上不同的屏幕尺寸更好地控制调整大小,缩放等.这是一个例子;
首先创建一个UIImage.
UIImage *backgroundImage = [UIImage imageNamed:@"iphone_skyline3.jpg"];
Run Code Online (Sandbox Code Playgroud)
第二次创建一个UIImageView.将帧大小设置为父(自)帧大小.这很重要,因为帧大小会因不同设备而异.将根据图像大小进行拉伸.接下来将图像分配给视图.
UIImageView *backgroundImageView=[[UIImageView alloc]initWithFrame:self.view.frame];
backgroundImageView.image=backgroundImage;
Run Code Online (Sandbox Code Playgroud)
最后,要将图像保留在所有控件后面,请执行以下操作.如果您将图像设置为应用程序的背景,这一点很重要.
[self.view insertSubview:backgroundImageView atIndex:0];
Run Code Online (Sandbox Code Playgroud)
nul*_*ull 24
您需要为ViewController的视图设置背景
在您的ViewController init或viewDidLoad:
[self.view setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"background.png"]]];
Run Code Online (Sandbox Code Playgroud)
以下是swift中的内容:
override func viewDidLoad() {
super.viewDidLoad()
self.view.backgroundColor = UIColor(patternImage: UIImage(named: "background.png"))
}
Run Code Online (Sandbox Code Playgroud)
小智 5
Swift 4版本的@hadaytullah回答了图像调整方面的一些改进:
override func viewDidLoad() {
super.viewDidLoad()
let backgroundImage = UIImage.init(named: "yourImageNameHere")
let backgroundImageView = UIImageView.init(frame: self.view.frame)
backgroundImageView.image = backgroundImage
backgroundImageView.contentMode = .scaleAspectFill
backgroundImageView.alpha = 0.1
self.view.insertSubview(backgroundImageView, at: 0)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
38343 次 |
| 最近记录: |