Ios 财产“;界限”;在tableviewCell类中找不到
我需要在文本字段中设置上下边框。我很抱歉我缺乏知识。因此,任何人都可以帮助我如何执行可操作的Ios 财产“;界限”;在tableviewCell类中找不到,ios,swift,swift3,Ios,Swift,Swift3,我需要在文本字段中设置上下边框。我很抱歉我缺乏知识。因此,任何人都可以帮助我如何执行可操作的boundsproperty这个我在tableviewCell类中设置的代码,以装箱一个文本字段 class NewAdressForGustCell : UITableViewCell{ var areaTextField : RightPaddingTextField = { var textField = RightPaddingTextField()
bounds
property这个我在tableviewCell类中设置的代码,以装箱一个文本字段
class NewAdressForGustCell : UITableViewCell{
var areaTextField : RightPaddingTextField = {
var textField = RightPaddingTextField()
let topBorder = CALayer()
topBorder.frame = CGRect(0, 0, bounds.size.width, 1)
topBorder.backgroundColor = UIColor.gray.cgColor
textField.layer.addSublayer(topBorder)
let bottomBorder = CALayer()
bottomBorder.frame = CGRect(0, bounds.size.height-1, bounds.size.width, 1)
bottomBorder.backgroundColor = UIColor.gray.cgColor
textField.layer.addSublayer(bottomBorder)
textField.translatesAutoresizingMaskIntoConstraints = false
return textField
}()
}
<> >问题是<代码>界限隐式地意味着<代码>自我>界限,并且您不能在代码中引用<代码>自身>代码>(甚至隐含地),您正处于初始化< <代码>自我>代码>的属性的中间,正如您在这里所做的那样。这是有意义的,因为在这个时候<代码>自我<代码>正是还不存在的东西:我们仍然处于初始化它的中间。 一个简单的解决方法是将此
var区域文本字段标记为lazy
。这是因为它保证在self
完全初始化之前,代码不会运行。(请注意,您仍然必须明确地参考self
)
<> >问题是<代码>界限隐式地意味着<代码>自我>界限,并且您不能在代码中引用<代码>自身>代码>(甚至隐含地),您正处于初始化< <代码>自我>代码>的属性的中间,正如您在这里所做的那样。这是有意义的,因为在这个时候<代码>自我<代码>正是还不存在的东西:我们仍然处于初始化它的中间。
一个简单的解决方法是将此var区域文本字段标记为lazy
。这是因为它保证在self
完全初始化之前,代码不会运行。(请注意,您仍然必须明确地参考self
)
. 我被添加了self.bounds
,但是忘了添加var areaTextField作为lazy
是的,你必须同时做这两件事。我在我的答案中添加了你的代码的工作版本!请检查编辑后的答案。您遇到的一般问题在我的在线书籍中进行了讨论:。我被添加了self.bounds
,但是忘了添加var areaTextField作为lazy
是的,你必须同时做这两件事。我在我的答案中添加了你的代码的工作版本!检查编辑后的答案。您遇到的一般问题在我的在线书中进行了讨论:
class NewAdressForGustCell : UITableViewCell{
lazy var areaTextField : RightPaddingTextField = {
var textField = RightPaddingTextField()
let topBorder = CALayer()
topBorder.frame = CGRect(x:0, y:0, width:self.bounds.size.width, height:1)
topBorder.backgroundColor = UIColor.gray.cgColor
textField.layer.addSublayer(topBorder)
let bottomBorder = CALayer()
bottomBorder.frame = CGRect(x:0, y:self.bounds.size.height-1, width:self.bounds.size.width, height:1)
bottomBorder.backgroundColor = UIColor.gray.cgColor
textField.layer.addSublayer(bottomBorder)
textField.translatesAutoresizingMaskIntoConstraints = false
return textField
}()
}