【发布时间】:2012-06-12 11:14:42
【问题描述】:
我有一个包含自定义UISlider 的UIView 类。当这个 UIView 添加到 viewController 时,它会随机旋转使用
newSlider.transform = CGAffineTransformRotate(newSlider.transform, degreesToRadians(random));
现在我想要做的是动画UISlider 拇指图像飞离滑块的末端。
我面临的问题是获取滑块开始/结束的坐标,以便我可以计算出拇指图像的移动方式。
我曾尝试使用trackRectForBounds,但无论UIView 应用的旋转如何,它都会给我完全相同的坐标
我已经在我的UIView 课程中尝试过这些:
CGRect trackRect = [customSlider trackRectForBounds:customSlider.bounds];
和
CGRect trackRect2 = [customSlider trackRectForBounds:self.window.bounds];
无论旋转如何,它都会给我 {{2, 1}, {288, 50}} 和 {{2, 215}, {316, 50}}。我认为它给了我来自UIView 而不是屏幕的矩形。
【问题讨论】:
-
为什么先是
newSlider,然后是customSlider? -
newSlider 在我的 ViewController 中。它基本上是整个 UIView 类。 MyCustomSliderView *newSlider customSlider 在该 UIView 类中,指的是添加到 UIView 中的 UISlider。
-
无论矩形如何旋转,您都会得到它的原点和大小 - 边界或框架中不包含旋转信息。
标签: ios xcode cocoa-touch uiview uislider