【问题标题】:how to acces to other views inside a view definition in swift 4如何在swift 4中访问视图定义中的其他视图
【发布时间】:2019-03-02 15:06:55
【问题描述】:

当我想引用其他视图中的视图时,我收到了这个错误:

'(LoginController) -> () -> (LoginController)' 类型的值没有 成员'userNameTF'

这是我的代码:

class LoginController: UIViewController {
var userNameTF: UITextField = {
        let uName = UITextField()
        uName.translatesAutoresizingMaskIntoConstraints = false
        uName.textAlignment = .right
        uName.placeholder = "userName"
        uName.textColor = .gray
        uName.returnKeyType = .done
        return uName
    }()

private var contentView: MDCCard = {
        let view = MDCCard()
        view.translatesAutoresizingMaskIntoConstraints = false
        view.cornerRadius = 0
        view.backgroundColor = UIColor(hexString: "#F2F2F2")
        view.setShadowElevation(ShadowElevation(rawValue: 6), for: .selected)
        view.setShadowColor(UIColor.black, for: .highlighted)
        view.addSubview(self.userNameTF)//here I call userNameTF}
}

我的问题是如何在contentView 内调用userNameTF

【问题讨论】:

  • 您在哪里遇到错误?哪一行?
  • @Augie 我在这里出错 {view.addSubview(self.userNameTF) } 我无法添加子视图
  • 只是猜测,但也许需要先将 contentview 添加到视图中?
  • @Augie 感谢您的注意,但我认为所有封装都是正确的
  • 是的,在我知道错误出在哪里之前

标签: swift xcode autolayout swift4


【解决方案1】:

我更改了您的部分代码并且它可以工作。我刚刚将您的自定义视图更改为 UIView :

class LoginController: UIViewController {
    var userNameTF: UITextField = {
        let uName = UITextField()
        uName.translatesAutoresizingMaskIntoConstraints = false
        uName.textAlignment = .right
        uName.placeholder = "userName"
        uName.textColor = .gray
        uName.returnKeyType = .done
        return uName
    }()

    private var contentView: UIView  {
        let view = UIView()
        view.translatesAutoresizingMaskIntoConstraints = false
        view.backgroundColor = .red
        view.addSubview(self.userNameTF)
        return view
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-20
    • 1970-01-01
    • 1970-01-01
    • 2011-12-24
    • 2021-05-01
    • 2019-08-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多