Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/114.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 财产“;界限”;在tableviewCell类中找不到_Ios_Swift_Swift3 - Fatal编程技术网

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

    }()
}