Xcode 10 beta SnapKit 约束类型错误
Posted
技术标签:
【中文标题】Xcode 10 beta SnapKit 约束类型错误【英文标题】:Xcode 10 beta SnapKit constraints type error 【发布时间】:2018-09-01 11:59:20 【问题描述】:我正在使用 Xcode 10 beta 5。我的项目在带有 4.0.0 SnapKit 的 Swift 4 上运行。
我有一个设置UITableView
约束的函数:
private func setupConstraints()
tableView.snp.makeConstraints make in
make.leading.equalTo(view.safeAreaLayoutGuide.leadingAnchor)
make.trailing.equalTo(view.safeAreaLayoutGuide.trailingAnchor)
make.top.equalTo(view.safeAreaLayoutGuide.topAnchor)
make.bottom.equalTo(view.safeAreaLayoutGuide.bottomAnchor)
此函数产生以下错误:
Argument type 'NSLayoutXAxisAnchor' does not conform to expected type 'ConstraintRelatableTarget'
我试过view.safeAreaLayoutGuide.leadingAnchor as! ConstraintRelatableTarget
,但这个转换失败了。
你们知道怎么解决吗?
【问题讨论】:
【参考方案1】:尝试例如view.safeAreaLayoutGuide.snp.leading
。您缺少 .snp 部分,最后一部分也有所不同。
【讨论】:
make.bottom.equalTo(view.safeAreaLayoutGuide.snp.bottom)
工作完美。非常感谢!【参考方案2】:
另一个案例
在我的情况下,当我的“视图”是 optional 属性时,我会遇到同样的错误。我在accepted answer 中添加了“.snp”部分。但我得到了同样的错误。
Xcode 版本 11.4 (11E146)
解决方案
所以我转换为非可选。我的问题解决了。
我希望,它会帮助别人。
最好的。
【讨论】:
以上是关于Xcode 10 beta SnapKit 约束类型错误的主要内容,如果未能解决你的问题,请参考以下文章
UITableView HeaderView,FooterView 使用SnapKit布局导致约束异常
为啥我在 xcode 6 beta 中得到“必须将自动调整大小掩码转换为约束才能拥有 _setHostsLayoutEngine:YES”