UIView将背景颜色更改为图像

时间:2011-09-02 14:49:40

标签: iphone uiview

我设法使用成功将我的一些UIView背景更改为自定义图像 self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"myCustomBackground.jpg"]];

但它不适用于以模态方式呈现的控制器中的特定视图,

LoginViewController *loginViewController = [[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:[NSBundle mainBundle]];
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:loginViewController];    
navController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
navController.navigationBar.barStyle = UIBarStyleBlack;
[self presentModalViewController:navController animated:NO];
[loginViewController release];
[navController release];

这个控制器里面的self.view似乎在它所显示的视图后面。

修改

LoginViewController.m

- (void)viewDidLoad {
    self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"myCustomBackground.jpg"]];
}
在这种情况下,

self.view似乎隐藏在它正在显示的当前视图后面。我事先没有添加任何子视图。

1 个答案:

答案 0 :(得分:0)

正如您在评论中提到的,您的观点包含UIScrollViewUILabelUIButton

您应该设置所有这些子视图属性backgroundColor = [UIColor clearColor];。希望这会有所帮助。

如果您正在编辑IB中的子视图,那么您应该在属性检查器中找到属性Background并选择Clear Color(对于所有子视图)。