我设法使用成功将我的一些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似乎隐藏在它正在显示的当前视图后面。我事先没有添加任何子视图。
答案 0 :(得分:0)
正如您在评论中提到的,您的观点包含UIScrollView
,UILabel
和UIButton
。
您应该设置所有这些子视图属性backgroundColor = [UIColor clearColor];
。希望这会有所帮助。
如果您正在编辑IB中的子视图,那么您应该在属性检查器中找到属性Background
并选择Clear Color
(对于所有子视图)。