我只是通过在 xib 中创建的按钮的代码中设置一个出口 n 来试验我UIButton
的属性layer
。
NSLog(@"d button layer value%@",dButton.layer.backgroundColor);
但输出是:
d button layer value(null)
我的问题是:我们不能显示UIButton
的layer
属性值吗?我们都知道会为按钮设置一些默认值。
根据CALayer
的文档:
默认值为
nil
。
除非您明确更改它。
在UIView的文档中,它是这样说的:
默认值为 nil,这将产生透明的背景色。
此摘录描述了 view.backgroundColor
属性,因此我假设 view.layer.backgroundColor
属性是相同的。
希望这有帮助!
我终于得到了答案。实际上,我试图在NSlog语句中使用%@显示结构值。dButton.layer.backgroundColor 是 Quartz 内部用来表示颜色的基本数据类型。
因此,显示它们的方法是创建自己的类来解析值。
例如,有CGRect,CGPoint等的类函数。就像显示CGRect一样,我们使用此代码
NSLog(@"d button layer value%@",NSStringFromCGRect(dButton.layer.bounds));
但没有为 CGColorRef 定义任何函数。
好的,正如jrturton所说,为了显示上述值,我们可以使用
NSLog(@"d button layer value%@",[UIColor colorWithCGColor:button.layer.backgroundColor)]
我希望大家现在明白了!!