gpt4 book ai didi

ios - UIView 在没有 UIViewController 的情况下获取宽度/高度

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

我有这个:

class SheetView: UIView {

override init(frame: CGRect) {
super.init(frame: frame)

RCTLogInfo("SHEET VIEW INIT'ED")
let width = String(format:"%.3f", Double(self.frame.size.width));
let height = String(format:"%.3f", Double(self.frame.size.height));
RCTLogInfo("Width: " + width + ", Height: " + height);

}

required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}

}

然而,宽度和高度始终为 0。阅读此处 Access UIView width at runtime看来我需要一个 viewDidLayoutSubviewsUIView 似乎没有这个。我必须使用 UIViewController 才能使用 viewDidLayoutSubviews,但是我无法更改 UIView,因为使用此组件的地方需要一个 UIView:

class SheetViewManager : RCTViewManager {

override func view() -> UIView! {
return SheetView();
}

}

是否可以只在 UIView 中获取高度/宽度?​​

最佳答案

是的,你当然可以。尝试这个 。 ( swift 3.0)

override func layoutSubviews() {
super.layoutSubviews()
print(self.frame)
}

确保您知道,如果您的自定义 View 的父 View 没有通过框架设置或通过 Storyboard自动布局或以编程方式为您的自定义 View 提供框架,您的框架将保持为 0 宽度和 0 高度

关于ios - UIView 在没有 UIViewController 的情况下获取宽度/高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44937514/

25 4 0
文章推荐: javascript - Angular 在 orderBy 之后获取中间索引
文章推荐: CSS Accordion 菜单 - 如何扩展和超链接
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com