[iPhone] UIView FAQ

本文介绍了如何使用 CGAffineTransform 在 iOS 应用中实现视图的缩放效果,并提供了动画实现的具体代码示例。同时,还讲解了如何处理触摸事件。
1, Transform
  Just write following codes to scale (also called zoom in/out, or transform) your view:
    float scaleX = xxx, scaleY = xxx;
    CGAffineTransform transform = CGAffineTransformMakeScale(scaleX, scaleY];
    yourView.transform = transform;
 After scaled, you can set scaleX, and scaleY to scale to original size.
2, Animation
 - (void) transformYourView()
 {
      float scaleX = xxx, scaleY = xxx;
      [UIView beginAnimations:nil context:nil];
      [UIView setAnimationDuration:0.15]; //The default value is 0.2
      [UIView setAnimationDelegate:self];
      [UIView setAnimationDidStopSelector:@selector(animationFinshed:finsihed:context:)];
      CGAffineTransform transform = CGAffineTransformMakeScale(scaleX, scaleY];
      yourView.transform = transform;
      [UIView commitAnimations];
  }

- (void) animationFinshed:(NSString *) animationID finished:(NSNumber *)finished context:(void *)context
{
    //To here, animation is finshed
}

3, Handle touch tap event;
You must customize UIView, and handle event.
//UICView.h
@interface UICView : UIView
@end


//UICView.m
@implementation UICView
//Handle touches began event
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    printf("members count=%i/r/n", touches.count);
    for (UITouch *touch in touches)
    {
        printf("tap count = %i/r/n", touch.tapCount); //for dragging event, touch.tapCount is 0
    }
   
    [self touchesBegin:touches withEvent:event]; //You must invoke this interface, otherwise, application may can't handle event correctly.
}

@end
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值