自带动画_UIViewAnimation

动画一: 控件直线移动效果

1.  声明一个label属性
@property (strong, nonatomic) UILabel *label;

2. 初始化label 
 self.label = [[UILabel alloc] init];
    
 self.label.bounds = CGRectMake(0, 0, 100, 100);
 #锚点(默认位置为(0.5, 0.5), 即控件的中心点, 相对于自身来说), 控件锚点的 位置, 与父视图的(0, 0)点重合
 //锚点的最大取值为: 1
 self.label.layer.anchorPoint = CGPointMake(0, 0);
     
 self.label.backgroundColor = [UIColor redColor];
 [self.view addSubview:self.label];


#3. 通过触摸方法, 触发动画的执行事件
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
    
    //1. 创建一个动画
    [UIView beginAnimations:nil context:nil];
    
    //2. 动画延迟设置
    [UIView setAnimationDelay:1];
    
    //3. 给动画添加代理(不遵循代理协议, 也能实现代理方法)
    [UIView setAnimationDelegate:self];
    
    //4. 给动画添加方法(动画结束后执行)
    [UIView setAnimationDidStopSelector:@selector(stopAc)];
    
    //5. 动画持续时间(完成动画所需时间)
    [UIView setAnimationDuration:2];
    
    //6. 设置动画是否会重复播放
    [UIView setAnimationRepeatAutoreverses:NO];
    
    //7. 设置动画移动的新位置
    self.label.frame = CGRectMake(100, 100, 100, 100);
    
    //8. 开始动画
    [UIView commitAnimations];

}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,588评论 25 709
  • 内容抽屉菜单ListViewWebViewSwitchButton按钮点赞按钮进度条TabLayout图标下拉刷新...
    皇小弟阅读 46,957评论 22 665
  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥iOS动画全貌。在这里你可以看...
    F麦子阅读 5,164评论 5 13
  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥ios动画全貌。在这里你可以看...
    每天刷两次牙阅读 8,613评论 6 30
  • 吉冈亚衣加氏 官方访谈 ——这已经是吉冈小姐总计第七枚个人专辑了,那么这次的专辑是怎么样的呢。 共收录了共13曲,...
    晓晓_電波良好阅读 467评论 0 1