我有一个XIB文件,里面有UIControl
和UIScrollView
个元素。我想在视图中添加背景图像。我尝试在IB中添加一个ImageView,但我不能让它作为背景出现并且它模糊了控制元素。发送sendViewBack
消息似乎也没有做任何事情。
当我以编程方式创建UIImageView时,它不会显示。
以下是我尝试的代码:
程序化创作
UIImage *imageBackground = [UIImage imageWithContentsOfFile:@"globalbackground"];
UIImageView *backgroundView = [[UIImageView alloc] initWithImage:imageBackground];
[[self view] addSubview:backgroundView];
[[self view] sendSubviewToBack:backgroundView];
处理NIB文件
[[self view] sendSubviewToBack:background];
其中background是在头文件中声明的IBOutlet
,并连接到IB中的NIB图像视图。
我在这里缺少一步吗?
答案 0 :(得分:8)
设置框架,不要使用sendSubviewToBack:
。如果您正在使用ImageView,则必须使用[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"imageName.png"]];
UIImageView *backgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"imageBackground"]];
backgroundView.frame = self.view.bounds;
[[self view] addSubview:backgroundView];
希望这是合约。
答案 1 :(得分:5)
[UIColor clearColor]
,并确保滚动视图未标记为不透明。您可以在代码或界面构建器中执行此操作。 imageWithContentsOfFile
,然后只传递一个没有扩展名的文件名(我假设是.png) - 这可能会返回nil
。请改用imageNamed:
(在这种情况下,您不提供扩展名,iOS4及更高版本)根据图像的性质,您还可以使用它生成颜色并使用 作为滚动视图的背景颜色。我假设self.view是滚动视图:
self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"globalBackground"]];