我希望我的一些 UITextField
在文本下只有一条简单的线(并且没有边框)。我创建了 UITextField
的一个小子类(我把它放在 Github 上,所以如果你想查看代码,可以去 there )。我使用高度为 1px 的 CALayer
,并将其添加到我的 UITextField
中。
这对于我的几乎所有文本字段都工作得很好,但是当我在 Xib 文件中的文本字段上使用它时,底线不会出现。
最佳答案
将以下代码添加到您的 setProperties() 方法中。
layer.masksToBounds = false
为什么这样可以解决问题?好吧,根据文档,CALayer
的 masksToBounds
属性默认为 false
。一个合理的假设是,Apple 的 UITextField
的 initWithCoder() 初始化程序的实现将 View 层的 masksToBounds
属性设置为 true
,而他们的UITextField 的 initWithFrame() 初始值设定项则不然。不一致自然会导致困惑,如下所示。
上面的代码保证图层的 masksToBounds
属性始终为 false
,无论调用哪个初始值设定项。
关于ios - 添加到 UITextField 的 CALayer 不会出现在 xib View 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32616381/