我为什么要设置这个属性,getsture.scale = 1?

时间:2011-07-15 23:09:15

标签: iphone

-(void)pinch:(UIPinchGestureRecognizer *)gesture

{
   if((gesture.state == UIGestureRecognizerStateChanged) ||
      (gesture.state == UIGestureRecognizerStateEnded))
   {
       self.scale *= gesture.scale;
       gesture.scale = 1;
   }
}

你好我正在学习iOS。 但我有一个问题,这是这段代码的最后一行。

gesture.scale = 1

每次改变时,我都会反复调用它。 但为什么我要把它重置为1?

我真的不知道这个意思。 请帮帮我。

1 个答案:

答案 0 :(得分:0)

似乎正在发生的事情是self.scale是累积比例因子:每次调用UIPinchGestureRecognizer时,总比例因子都会被当前比例量更新(通过将它们相乘)。

由于该缩放已应用于总计,因此手势的缩放重置为1,因此您不会多次应用相同的转换。