CALayer值未应用于UIControl

时间:2014-08-27 07:02:31

标签: ios ios7 uibutton calayer nscoder

WORKGROUND

使用UIViewUILabel创建UIButton。在这里,我在下面设置了UIButton的图层属性:

[self.btnDropdown.layer setBorderColor:[UIColor lightGrayColor].CGColor];
[self.btnDropdown.layer setBorderWidth:0.8f];
[self.btnDropdown.layer setCornerRadius:4.0f];

现在我使用NSCoding将此自定义视图保存到文件中并加载相同的内容。此控件显示在UITableViewCell中。

问题

自定义视图的所有详细信息,例如UILable标题,大小,背景颜色等。UIButton的相同内容均从文件中检索。但是我没有检索到为CALayer设置的UIButton相关详细信息。

保存到文件之前:

enter image description here

从文件中获取:

enter image description here

所以我不清楚使用CALayer对象管理UIButton属性。

这些详细信息(CALAyer值)是否仅在运行时可见?或者我错过了什么?

如果您不清楚问题,请添加评论。

修改

以前我没有提供更多信息来降低问题的复杂性。下面是我实现的完整层次结构。

NSObject - >自定义视图 - > UIButton - > CALayer的

1)第一个NSObject类是一个bean类。其中包含一些变量(我称之为Property)。此属性是自定义视图的元详细信息。 There is one variable "parentView" is use to store Custom view.

2)自定义视图:这是UIView类,其中包含UILabelUIButton

现在bean类对象(Property)存储在文件中并重试。这样我就可以使用变量parentView来加载自定义视图。

并且关于UIButton的问题是嵌入在自定义视图中的。

1 个答案:

答案 0 :(得分:0)

搞清楚:

此处按钮显示在图像自定义视图中。我曾经使用BLOB将这些控件保存在本地数据库中。

事情就是这些视图对象/实例存储在具有一些属性的数据库中。

现在,当我检索它们并将它们作为子视图添加到任何视图时,它们的-init方法不会被调用。 (我怎么知道这一点)并为这些视图调用了-init方法。