gpt4 book ai didi

swift - 你能给 UIStackView 边框吗?

转载 作者:IT王子 更新时间:2023-10-29 05:10:02 24 4
gpt4 key购买 nike

我试图在我的 ViewController 边框中提供 5 个单独的 UIStackViews。我给他们每个人一个 IBOutlet 然后在 viewDidLoad 中调用他们来使用 layer 属性但无济于事。是否无法以编程方式为堆栈 View 提供边框?

代码:

@IBOutlet weak var stackView1: UIStackView!
@IBOutlet weak var stackView2: UIStackView!
@IBOutlet weak var stackView3: UIStackView!
@IBOutlet weak var stackView4: UIStackView!
@IBOutlet weak var stackView5: UIStackView!

override func viewDidLoad() {
super.viewDidLoad()

stackView1.layer.borderWidth = 5
stackView2.layer.borderWidth = 5
stackView3.layer.borderWidth = 5
stackView4.layer.borderWidth = 5
stackView5.layer.borderWidth = 5
}

最佳答案

很遗憾,这无法完成。 UIStackView 的不同寻常之处在于它是一个执行布局(使用自动布局约束)但不显示自身的“非渲染” View 。它有一个像所有 UIView 一样的层,但它被忽略了。

参见 the Apple doc在“管理堆栈 View 的外观”下:

The UIStackView is a nonrendering subclass of UIView. It does not provide any user interface of its own. Instead, it just manages the position and size of its arranged views. As a result, some properties (like backgroundColor) have no affect on the stack view. Similarly, you cannot override layerClass, drawRect:, or drawLayer:inContext:

关于swift - 你能给 UIStackView 边框吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34211738/

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