objective-c - 如何子类化 CALayer 以返回预先设置样式的图层?

标签 objective-c cocoa core-animation quartz-graphics calayer

如何子类化 CALayer 以便返回已设置样式属性的图层?

这样:

MyCustomLayer *layer = [MyCustomLayer layer];

将创建一个具有这些属性的图层;

layer.backgroundColor = sweetBackgroundColor.CGColor;
layer.borderColor = sweetBorderColor.CGColor;

layer.borderWidth = 2.0;
layer.cornerRadius = 8.0;

这样我就可以设置它的框架并将其添加到树中。

但我想我的问题实际上可能是,如何对对象进行子类化,以便它具有在创建时已设置的属性。可能吗?

最佳答案

只需在子类中重写 -init(CALayer 的指定初始化程序),并在重写中设置这些属性。任何创建方法,包括 -layer,最终都应该通过指定的初始化器进行路由,这意味着即使对于方便的构造函数,您的额外设置也会发生。

关于objective-c - 如何子类化 CALayer 以返回预先设置样式的图层?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/823135/

相关文章:

swift - 如何从 AppDelegate 回到当前窗口

objective-c - 如何创建一个直接接受格式字符串作为参数的方法?

objective-c - 与核心数据同步数据

objective-c - 如何防止自定义 UITableViewCells 在取消选择时闪烁白色?

iphone - 成就完成处理程序不检测何时没有可用的 Internet 连接

ios - 上传图片到服务器

iOS CocoaPods - 当模块被禁用时如何解决 "use of ' @import' 错误?

ios - 向后滑动 iOS 7 时让 UIKeyboard 保持可见

cocoa-touch - UIView Animation 动画位置而不是宽度

ios - 如何以编程方式调用 View Controller ?