我想创建手机拨号器效果,那么我该怎样才能产生这种效果?有没有可用的API?我已将图像设置在图像视图中,图像呈圆形。现在我想触摸并拖动图像,如果我拖动单个图像,它会将所有图像移动到特定路径。请看我的屏幕截图。
请帮帮我。
谢谢!
答案 0 :(得分:0)
创建视图(视图A)并将背景颜色设置为透明。
将图像视图作为子视图添加到View A
在视图A中覆盖以下方法:
- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event {
// Only return YES if the touch is in one of the subviews
// - we dont care about touches that are just in this view
for (UIView* view in self.subviews) {
// We need to convert the point into the recievers co-ordinate system
// (as per the documentation on 'pointInside:withEvent')
CGPoint convertedPoint = [self convertPoint:point toView:view];
if ([view pointInside:convertedPoint withEvent:event]) {
return YES;
}
}
return NO;
}
响应触摸移动以改变中心视点A.如果需要旋转一点,则必须使用一些触发/数学。
答案 1 :(得分:0)
您可以使用UIPanGestureRecognizer检测父图像视图上的平移/拖动。然后,只需应用CGAffineTransform即可根据用户的手指位置旋转该视图。
// Calculate the rotation you want
CGFloat radians = degreesToRadians(position*totalRotation);
[dialerView setTransform:CGAffineTransformMakeRotation(radians)];
您需要弄清楚如何计算位置和totalRotation。