2013-07-05 133 views
1

當您拖動圖像時,某些應用程序具有此「拖動阻力」。距離原點拖動圖像越遠,變得越容易拖拽。 如何實現此功能?拖動UIImageView時的拖動阻力?

+0

'UIScrollView'默認有這種效果。 – 2013-07-05 07:26:25

+0

我想你可以做到這一點,如果你設置框架或UIImageView的中心作爲距原點(或容器視圖)的距離的反函數 – Rakesh

+0

謝謝,我會看看UISCrollView。 @Rakesh,你能提供一些資料或教程嗎? – pangelovski

回答

0

如何子類UIImageView並做類似如下:(?並不完美,但事情沿着這條線可能)

-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{ 

    CGPoint currentPosition = [[touches anyObject] locationInView:self.superview]; 
    CGFloat dx = currentPosition.x - initialCentre.x;//delta x with sign 
    CGFloat dy = currentPosition.y - initialCentre.y;//delta y with sign 

    CGFloat distance = sqrt(dx*dx + dy*dy);//distance 

    CGFloat weightedX = initialCentre.x + dx * (1/log(distance)); //new x as inverse function of distance 
    CGFloat weightedY = initialCentre.y + dy * (1/log(distance)); //new y as inverse function of distance 

    self.center = CGPointMake(weightedX, weightedY);//set the center 


}