試圖理解UIView和CALayer之間的關係。我閱讀蘋果文檔,但沒有詳細描述兩者之間的關係。UIVIew與CALayer之間關於iOS背景圖像之間的關係
爲什麼當我添加背景圖片來查看「customViewController.view」時,我得到了不需要的圖像黑色。
當我將背景圖像添加到圖層「customViewController.view.layer」時,圖像的黑色區域消失了(這是我想要的),但背景圖像翻轉顛倒。這是爲什麼?
如果我要添加labels/views/buttons/etc。到視圖中,圖層的背景圖像是否會阻止它們,因爲CAlayer是由UIView支持的?
當你設置UIView的背景顏色時,它會自動設置相關圖層的背景顏色嗎?鑑於
- (void)viewDidLoad { [super viewDidLoad]; customViewController = [[CustomViewController alloc] init]; customViewController.view.frame = CGRectMake(213, 300, 355, 315); customViewController.view.backgroundColor = [[UIColor alloc] initWithPatternImage:[UIImage imageNamed:@"login_background.png"]]; // customViewController.view.layer.backgroundColor = [[UIColor alloc] initWithPatternImage:[UIImage imageNamed:@"login_background.png"]].CGColor; [self.view addSubview:customViewController.view]; }
背景圖像:在view.layer
- (void)viewDidLoad
{
[super viewDidLoad];
customViewController = [[CustomViewController alloc] init];
customViewController.view.frame = CGRectMake(213, 300, 355, 315);
// customViewController.view.backgroundColor = [[UIColor alloc] initWithPatternImage:[UIImage imageNamed:@"login_background.png"]];
customViewController.view.layer.backgroundColor = [[UIColor alloc] initWithPatternImage:[UIImage imageNamed:@"login_background.png"]].CGColor;
[self.view addSubview:customViewController.view];
}
背景圖像:
idz,非常感謝你的明確解釋。我想我會爲UIView設置背景圖片並且現在改變不透明設置。 – s2000coder 2011-05-07 00:19:01
不客氣! – idz 2011-05-07 00:29:12
好奇,如果你使用圖層而不是視圖,你如何修復y軸? – s2000coder 2011-05-07 00:40:23