gpt4 book ai didi

swift - 在运行时获取 subview 的实际宽度(Swift 4)

转载 作者:可可西里 更新时间:2023-11-01 00:56:22 25 4
gpt4 key购买 nike

Xcode 提供了一个分段控件,但我想要一个带有选择器的自定义分段控件,当您按下它时,它会滑动到每个按钮。我为此使用了 3 个 View 。一个是我添加了两个 subview 的“主” View 。其中一个 subview 是选择器 (UIView),另一个是包含按钮的 UIStackView。我使用 selector = UIView(frame: CGRect(x: 0, y: 0, width: self.frame.width/CGFloat(buttons.count), height: self.frame.height))选择器的大小。当我使用我的类(class)在 Storyboard中查看时,一切看起来都很好。我对 super View 进行了约束,但是当我使用模拟器启动应用程序时,我得到的是 Storyboard中设置的宽度,而不是运行时使用 self.frame.width 的实际宽度。

我用了this视频作为模板。和 here是我运行应用程序时的样子。选择器不像一个按钮那么大,这就是为什么我在正确的网站上看到这个白色条。

最佳答案

UIControl 继承自 UIView 类,您可以使用 layoutSubviews 函数在应用约束后获得正确的 Frame

override func layoutSubviews() {
super.layoutSubviews()
//self.frame will be correct here
}

引用文献:

https://developer.apple.com/documentation/uikit/uiview/1622482-layoutsubviews https://developer.apple.com/documentation/uikit/uicontrol

关于swift - 在运行时获取 subview 的实际宽度(Swift 4),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46998815/

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