【发布时间】:2012-01-05 00:35:05
【问题描述】:
我有一个 UIView,它有几个响应触摸的子视图。如果我使用如下代码旋转超级视图的 layer:
[CATransaction begin];
[CATransaction setDisableActions:true];
view.layer.transform = CATransform3DRotate(view.layer.transform, angle, 0, 0, 1);
[CATransaction commit];
...那么在响应触摸事件时我似乎无法找到子视图的正确位置...有什么想法吗?
【问题讨论】:
-
使用 NSLog(@"%@", subview.view);定位问题
-
似乎子视图认为它们仍然在同一个地方。我会继续努力...
-
会不会是layer的transform属性和UIView的不一样?
-
部分问题似乎是我在子视图中使用贝塞尔曲线进行命中检测。是否需要更新贝塞尔曲线以进行转换...我以这种方式尝试了一些代码,因为
UIBezierPath有一个applyTransform方法,但它对我现在做的方式没有帮助...
标签: ios uiview rotation transform