我希望我的一些UITextField
只在文本下面有一条简单的行(并且没有边框)。我创建了一个UITextField
的小子类(我把它放在Github上,所以如果你想查看代码,你可以去there)。我使用的是CALayer
,身高为1px,我将其添加到UITextField
。
这几乎适用于所有textFields,但是当我在Xib文件中的textFields上使用它时,底线不会出现。
答案 0 :(得分:0)
将以下代码添加到setProperties()方法中。
layer.masksToBounds = false
为什么要解决这个问题?好吧,根据文档,CALayer
的{{1}}属性默认为masksToBounds
。一个合理的假设是,Apple的false
的initWithCoder()初始化程序的实现将视图的层UITextField
属性设置为masksToBounds
,而它们对UITextField的initWithFrame()初始化程序的实现却没有。如图所示,这种不一致自然会导致混淆。
上面的代码保证图层的true
属性始终为masksToBounds
,无论调用哪个初始值设定项。