2013-09-24 82 views
0

我想沿正切路径拖动UIView,但无法找到行(CGPath)上的结果点。我试着保持'x'不变并将偏移量加到'y'上,但这也给我奇怪的行为。沿倾斜/切线路径拖动uiview

任何人都可以帮助我,因为我坚持这一点。

+1

显示一些代码可能是? – Vladimir

回答

0

通过使用毕达哥拉斯定理,您可以很容易地计算'y'的偏移量,因为您可以从切线制作直角三角形。 计算如下,

CGPoint panPoint = [gesture locationInView:self.superview]; 
CGPoint center = self.center; 
pantPoint.x = triangleStartPointFromTop.x; 
CGFloat per = fabsf(panPoint.y - triangleStartPointFromTop.y); 

CGFloat base = fabsf(per * tanf(triangle.theta)); 
panPoint.x += base; 
center = panPoint;