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

  • 相关阅读:
    django通用视图(类方法)
    学期总结
    计算机网络复习
    面试总结二
    电话面试总结
    Linux用户管理-中
    Linux之用户管理--初级上
    web聊天室总结
    聊一聊JQ中delegate事件委托的好处
    git的使用[转]
  • 原文地址:https://www.cnblogs.com/YouXianMing/p/3722793.html
Copyright © 2011-2022 走看看