zoukankan      html  css  js  c++  java
  • 使用UIDynamicAnimator创建重力感应的View

    使用UIDynamicAnimator创建重力感应的View

    http://www.raywenderlich.com/zh-hans/52617/uikit-力学教程

    详细教程请参考上面的链接,此处仅仅是最简单的使用而已.

    //
    //  RootViewController.m
    //  DynamicView
    //
    //  Copyright (c) 2014年 Y.X. All rights reserved.
    //
    
    #import "RootViewController.h"
    
    @interface RootViewController ()
    
    @property (nonatomic, strong) UIView              *gravityView;
    @property (nonatomic, strong) UIDynamicAnimator   *animator;     // 力学引擎
    
    @end
    
    @implementation RootViewController
    
    - (void)viewDidLoad
    {
        [super viewDidLoad];
        
        // 创建一个view
        _gravityView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
        _gravityView.backgroundColor = [UIColor redColor];
        [self.view addSubview:_gravityView];
        
        // 创建力学引擎并指定一个view来影响这个view的坐标系统
        _animator = [[UIDynamicAnimator alloc] initWithReferenceView:self.view];
        
        // 创建一个重力感应的行为,_gravityView将遵守这个行为,并提交给力学引擎
        UIGravityBehavior *gravity = 
            [[UIGravityBehavior alloc] initWithItems:@[_gravityView]];
        [_animator addBehavior:gravity];
        
        // 创建一个边界碰撞行为,_gravityView将遵守这个行为,并提交给力学引擎
        UICollisionBehavior *collision = 
            [[UICollisionBehavior alloc] initWithItems:@[_gravityView]];
        collision.translatesReferenceBoundsIntoBoundary = YES; // 开启边界范围限制
        [_animator addBehavior:collision];
    }
    
    @end
    RootViewController.m

  • 相关阅读:
    团队作业6——复审与事后分析
    Alpha阶段项目复审
    测试与发布( Alpha版本 )
    测试与发布(Alpha版本)
    团队作业4——项目冲刺
    第 1 篇 Scrum 冲刺博客
    第 7篇 Scrum 冲刺博客
    第 6篇 Scrum 冲刺博客
    第 5篇 Scrum 冲刺博客
    第 4篇 Scrum 冲刺博客
  • 原文地址:https://www.cnblogs.com/YouXianMing/p/3722793.html
Copyright © 2011-2022 走看看