2012-06-21 54 views
0

我只是通過在xib中創建的按鈕的代碼設置插座來實驗我的UIButtonlayer屬性。爲什麼不能顯示Uibutton的圖層屬性值

NSLog(@"d button layer value%@",dButton.layer.backgroundColor); 

但產量即將爲:

d button layer value(null) 

我的問題是:我們不能顯示UIButtonlayer屬性值。我們都知道一些默認值會被設置爲按鈕。

+0

您是否爲該圖層分配了背景顏色?可能是這樣的:'dButton.layer.backgroundColor = [UIColor redColor];'。 – pasawaya

+0

不,我沒有。其實我的問題只是這個。一定有一些默認值,我不能訪問該值? – user1374408

回答

0

按照documentation for CALayer

默認爲nil

除非你明確地改變它。

+0

但是,當我們創建一個按鈕,然後它有一些與它相關的默認值。那麼從這些值來自哪裏,如果圖層屬性沒有設置? – user1374408

+0

我還不清楚 – user1374408

0

在用於UIView文檔,它說這樣:

的默認值是零,這導致了透明背景顏色。

本文節選介紹view.backgroundColor財產,所以我假定view.layer.backgroundColor性質是一樣的。

希望這會有所幫助!

0

Phew !!我終於得到了答案。 其實我試圖在NSlog語句中使用%@顯示結構值。dButton.layer.backgroundColor是Quartz內部用來表示顏色的基本數據類型。

所以,顯示它們的方法是讓你自己的類可以解析值。

等,例如有對的CGRect,CGPoint等 類的功能,如用於顯示的CGRect我們使用此代碼

 NSLog(@"d button layer value%@",NSStringFromCGRect(dButton.layer.bounds)); 

但爲的arent定義CGColorRef任何功能。

好吧,按照jrturton說,用於顯示輸入的值,我們可以使用

NSLog(@"d button layer value%@",[UIColor colorWithCGColor:button.layer.backgroundColor)] 

我希望每個人都得到了它現在!

+0

您可以使用[UIColor colorWithCGColor:button.layer.backgroundColor]爲您提供一個可以輕鬆記錄的對象。 – jrturton

+0

謝謝,我現在得到了解決方案:D – user1374408

相關問題