2013-07-02 37 views
0

這可能是一個有關iOS中的圖層的初學者問題,但我找不出一個適當的方式來處理它...如何更新UIView的圖層屬性併爲其保留子圖層?

我以編程方式創建一個UIView並向它添加一個按鈕。

UIView *subview = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 200, 200)]; 
UIButton *mybutton = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
[mybutton setTitle:@"Test1" forState:UIControlStateNormal]; 
mybutton.frame = CGRectMake(0,0,50,50); 
[subview mybutton]; 

比我做一些操作與子視圖演示文稿更改它的圖層屬性。比如我更改視圖邊界半徑,並添加陰影:

[subview.layer setCornerRadius:10.0f]; 
[subview.layer setShadowColor:[UIColor blackColor].CGColor]; 
[subview.layer setShadowOpacity:0.8]; 
[subview.layer setShadowRadius:3.0]; 

,我看到這則myButton層變化也並不僅是一個子視圖的問題。 例如,按鈕標題也有影子。 我做了一個示例截圖,以更好地解釋我的問題: http://img46.imageshack.us/img46/8923/havq.png

如何在iOS中處理它?是我添加按鈕的另一種圖層? 感謝您的建議和幫助!

回答

1

問題不在於你對圖層的所有更改,只是它的影子。這是因爲陰影應用於圖層合成的Alpha通道,並且包括其子圖層。

你既可以:

  1. 使用了陰影路徑,而不是標準的偏移
  2. 添加在其上指定陰影(它是同級按鈕)
不同的子層
+0

謝謝你的幫助! – Eden1971

相關問題