我已经将UISlider子类化,以便为它添加一些滴答。
要获得滑块的宽度,请使用:
self.bounds.size.width
另外,self.frame.size.width总是返回相同的东西。
麻烦的是,如果我根据这个值给我的剔除,那么外部刻度始终会在屏幕的边缘结束。请参阅屏幕截图。
非常欢迎任何帮助或见解!
答案 0 :(得分:1)
请尝试使用JsConfig.IncludePublicFields = true;
。这将为您提供轨道的实际框架。如果您有滑块的约束和/或其他设置,最好在trackRectForBounds
中获取矩形。
layoutSubviews
协作更新以实现可行的解决方案:
如果您设置了约束,请检查它们是否仍然是正确的尺寸,如果没有,您将不得不更新一些常量,然后调用[self layoutIfNeeded]再次执行此操作。但要小心,每次这样做会导致无限循环。