Dan*_*iel 27 iphone objective-c uiview uiimageview
我是Obj-C/Cocoa Touch/iPhone OS的初学者.
我想在每次调用视图时为我的应用程序提供不同图像的背景.
说我有10张图片.我这样用它:
//random image generation
NSString* imageName;
int aRandomNumber = arc4random() % 10;
imageName =[NSString stringWithFormat:@"g%d.jpg",aRandomNumber];
self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageWithContentsOfFile:[[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:imageName]]];
NSLog(@"aRandomNumber is %d", aRandomNumber);
//random image is generated
Run Code Online (Sandbox Code Playgroud)
它的工作正常
我怎么能用UIView/UIImageView做到这一点?
我initWithHue:saturation:brightness:alpha:
在文档中找到但它不起作用:
self.view.backgroundColor = [[UIColor alloc] initWithHue:0.0 saturation:1.0 brightness:1.0 alpha:1.0];
Run Code Online (Sandbox Code Playgroud)
请帮忙!
朋友建议........
self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageWithContentsOfFile:[[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:imageName]]];
Run Code Online (Sandbox Code Playgroud)
..........他告诉它更高效,因为它不会将图像保存在缓存中.
Gur*_*gam 82
self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"imageName.png"]];
Run Code Online (Sandbox Code Playgroud)
更多信息与示例项目
Den*_*sie 38
除了这里的所有其他响应,我真的不认为以这种方式使用backgroundColor是正确的做事方式.就个人而言,我会创建一个UIImageView并将其插入到您的视图层次结构中.您可以将其插入顶视图并使用sendSubviewToBack将其一直推到后面:或者您可以将UIImageView作为父视图.
我不担心每个实现在这一点上的效率如何,因为除非你真正看到一个问题,否则它并不重要.您现在的首要任务应该是编写您可以理解并且可以轻松更改的代码.创建UIColor以用作背景图像并不是最明智的方法.
Saa*_*aad 24
用这个
self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"Default"]];
Run Code Online (Sandbox Code Playgroud)
小智 6
简单方法:
-(void) viewDidLoad {
self.view.backgroundColor = [[UIColor alloc] initWithPatternImage:[UIImage imageNamed:@"background.png"]];
[super viewDidLoad];
}
Run Code Online (Sandbox Code Playgroud)
您希望主视图的背景颜色是半透明的吗?它背后什么也没有......所以什么也不会真正发生:
如果要修改任何视图的 alpha,请使用 alpha 属性:
UIView *someView = [[UIView alloc] init];
...
someView.alpha = 0.8f; //Sets the opacity to 80%
...
Run Code Online (Sandbox Code Playgroud)
视图本身具有 Alpha 透明度,而不仅仅是 UIColor。
但由于你的问题是你无法阅读图像顶部的文本......要么:
Run Code Online (Sandbox Code Playgroud)UIView *overlay = [[[UIView alloc] init] autorelease]; overlay.frame = self.view.bounds; overlay.alpha = 0.2f; [self.view addSubview:overlay]; ... Add the rest of the views
归档时间: |
|
查看次数: |
101431 次 |
最近记录: |