gpt4 book ai didi

ios - UISlider 边界和框架宽度返回不正确的值

转载 作者:行者123 更新时间:2023-11-29 00:03:10 25 4
gpt4 key购买 nike

我将 UISlider 子类化,以便向其添加一些标记。

为了获得 slider 的宽度,我使用:

self.bounds.size.width

另外,self.frame.size.width 总是返回同样的东西。

问题是,如果我将我的价格差价差值作为给我的值的基础,则外部价格变动始终会出现在屏幕的边缘。查看屏幕截图。

Wide View

非常欢迎任何帮助或见解!

最佳答案

尝试使用 trackRectForBounds 代替。这将为您提供轨道的实际框架。如果您有限制和/或对 slider 进行其他设置,最好在 layoutSubviews 中获取 rect。

- (void)layoutSubviews {
(super layoutSubviews];

CGRect r = [self trackRectForBounds:self.bounds];
CGFloat startPosition = r.origin.x;
CGFloat width = r.size.width;
}

协作更新以实现有效的解决方案:
如果您设置了约束,请在此处检查它们的大小是否仍然正确,如果不正确,您将不得不更新他们的一些常量,然后调用 [self layoutIfNeeded] 再做一次。不过要小心,每次都这样做会导致无限循环。

关于ios - UISlider 边界和框架宽度返回不正确的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48876958/

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