为什么我不能显示 Uibutton 的图层属性值



我只是通过在 xib 中创建的按钮的代码中设置一个出口 n 来试验我UIButton的属性layer

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

但输出是:

    d button layer value(null)

我的问题是:我们不能显示UIButtonlayer属性值吗?我们都知道会为按钮设置一些默认值。

根据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)]

我希望大家现在明白了!!

最新更新