gpt4 book ai didi

swift - 在 Swift 中创建一个带有背景的 UIView

转载 作者:行者123 更新时间:2023-11-28 08:06:56 25 4
gpt4 key购买 nike

我纯粹通过代码在 Controller 上创建一个 UIView(我根本没有使用 Storyboard。

这是该简单 View 的代码:

let greenView: UIView = {
let v = UIView(frame: CGRect.zero)
v.translatesAutoresizingMaskIntoConstraints = false
v.backgroundColor = UIColor.rgb(red: 183, green: 202, blue: 45)
v.layer.borderWidth = 1
return v
}()

当我在屏幕上设置 View 时:

    view.addSubview(greenView)
greenView.anchor(top: joined.bottomAnchor, left: view.leftAnchor, bottom: nil, right: view.rightAnchor, paddingTop: 20, paddingLeft: 0, paddingBottom: 0, paddingRight: 0, width: view.frame.width - 20, height: 200)

这个“ anchor ”功能只是帮助设置自动布局约束的扩展,它适用于所有其他组件,例如实际上继承自 UIView 的 UIButton。

问题: View 没有显示在屏幕上的任何位置……我是不是漏掉了什么?

对于我使用的 anchor 方法 LBTAComponents .

更具体地说 this class到目前为止,所有其他方法都运行良好。

最佳答案

你说你正在使用 LBTAComponents ,但您的方法签名不匹配。他们很接近,但看起来他们正在使用一些旧版本(查看历史,我没有看到与您在上面使用的方法签名相匹配的旧版本)或者您有自己的扩展包装这个 API .例如下面的代码:

greenView.anchor(top: joined.bottomAnchor, left: view.leftAnchor, bottom: nil, right: view.rightAnchor, paddingTop: 20, paddingLeft: 0, paddingBottom: 0, paddingRight: 0, width: view.frame.width - 20, height: 200)

应该是:

greenView.anchor(joined.bottomAnchor, left: view.leftAnchor, bottom: nil, right: view.rightAnchor, topConstant: 20, leftConstant: 20, bottomConstant: 0, rightConstant: 0, widthConstant: view.bounds.width - 20, heightConstant: 200)

当我更正方法签名并将其与最新版本的 LBTAComponents 一起使用时,代码工作正常。因此,问题必须在于这些扩展的版本(或您用来包装该库以生成上述 API 的任何层)。

关于swift - 在 Swift 中创建一个带有背景的 UIView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44829546/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com