我在谷歌上搜索并找到了 this .但我不确定答案是否正确。
所以我需要的是将 UITextField
添加到 CALayer
中并使其工作我使用了这个方法但它不起作用
[layer addSubLayer:textField.layer];
有解决这个问题的想法吗?
最佳答案
简短的回答是,你不能。图层是较低级别的对象。 View 有层,但层不能有 View 。
如果您要添加另一个 View 图层作为当前 View 图层的子图层, View 级别将不知道它的图层托管在其他地方。 View 不会成为 View 层次结构的一部分,因此它不会认为它需要绘制自己。而且,除非您在某处保持对它的强引用,否则它将被释放,导致您添加的层被释放,并创建一个僵尸。
View 包含 View 。层包含层。将它们分开。如果你想要图层中的文本内容,你可以使用 CATextLayer,尽管它们看起来不如文本 UI 对象好,因为它们不进行亚像素抗锯齿。我尝试使用文本层,但最终放弃了它们,因为它们看起来很糟糕。
关于ios - 如何将 UITextField 添加到 CALayer 并使其工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21728564/