ios-我添加的UIGravityBehavior并没有动画显示

问题描述

我添加的UIGravityBehavior并没有动画显示
 //
//  ViewController.m
//  DropGame
//
//  Created by bayMax on 10/16/15.
//  Copyright ? 2015 bayMax. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()
@property (weak, nonatomic) IBOutlet UIView *gameView;
@property (strong,nonatomic) UIDynamicAnimator *animator;
@property (strong,nonatomic) UIGravityBehavior  *gravity;
@property (strong,nonatomic) UIPushBehavior *push;

@end

@implementation ViewController

static const CGSize DROP_SIZE = {40,40};

-(UIDynamicAnimator *)animaotr
{
    if(!_animator)
    {
        _animator = [[UIDynamicAnimator alloc] initWithReferenceView:self.gameView];
    }
    return _animator;
}
-(UIGravityBehavior *)gravity
{
    if(!_gravity)
    {
        _gravity = [[UIGravityBehavior alloc] init];
        _gravity.magnitude = 1;
        [self.animator addBehavior:_gravity];
    }
    return _gravity;
}
/*-(UIPushBehavior *)push
{
    if(!_push)
    {
        _push = [[UIPushBehavior alloc] init];
        [self.animator addBehavior:_push];
    }
    return _push;
}
*/
- (IBAction)tap:(UITapGestureRecognizer *)sender {
    [self drop];
}

-(void)drop
{
    CGRect frame;
    frame.origin = CGPointZero;
    frame.size = DROP_SIZE;
    int x = (arc4random()%(int)self.gameView.bounds.size.width) / DROP_SIZE.width;
    frame.origin.x = x * DROP_SIZE.width;

    UIView *dropView = [[UIView alloc] initWithFrame:frame];
    dropView.backgroundColor = [self randomColor];
    [self.gameView addSubview:dropView];
    [self.gravity addItem:dropView];
}
-(UIColor *)randomColor
{
    switch (arc4random()%5) {
        case 0:return [UIColor greenColor];break;
        case 1:return [UIColor redColor];break;
        case 2:return [UIColor blueColor];break;
        case 3:return [UIColor yellowColor];break;
        case 4:return [UIColor purpleColor];break;
    }
    return [UIColor blackColor];
}

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end

有UIDynamicAnimator我也添加了gravity但是就是没有动画,这是为什么。。

解决方案

你都没有访问gravity,其中的方法永远不会调用

时间: 2024-09-17 04:38:11

ios-我添加的UIGravityBehavior并没有动画显示的相关文章

iOS 7 present/dismiss自定义转场动画

前言 iOS 7以后提供了自定义转场动画的功能,我们可以通过遵守协议完成自定义转场动画.本篇文章讲解如何实现自定义present.dismiss自定义动画. 关于自定义push/pop转场动画,请阅读iOS 7 push/pop自定义转场动画 效果图 本篇文章实现的动画切换效果图如下: 视图切换种类 如下效果图,这是有两大类视图切换动画的,一种是交互式的,另一种就是自定义的. 本篇只讲其中的UIViewControllerAnimatedTransitioning协议,来实现present.di

IOS view添加点击的手势

问题描述 IOS view添加点击的手势 IOS view添加点击的手势,view中有个button,怎么设置点击button不触发view的手势? 解决方案 ios--手势--点击某个View隐藏键盘IOS开发--根据手势获取添加这个手势的View 解决方案二: 你把button作为view的subview,绑定button的点击事件,这样点击button不会触发view的手势

ios xcode添加-ObjC之后,运行没问题,打包的时候出错

问题描述 ios xcode添加-ObjC之后,运行没问题,打包的时候出错 解决方案 arm64在你贴出的两个文件中都定义了. 解决方案二: 两个文件中可能有重复引用 解决方案三: 出现duplicate了,是不是有重复引用库

iOS开发CoreAnimation解读之四——Layer层动画内容

iOS开发CoreAnimation解读之四--Layer层动画内容 一.引言         通过前几篇博客的介绍,我们可以了解到layer层可以设置许多与控件UI相关的属性,并且对于iOS开发,UIView层的属性是会映射到CALayer的,因此,可以通过UIKit和CoreAnimation两个框架来设置控件的UI相关属性,当属性发生变化时,我们可以使其展示一个动画效果. 二.CAAnimation动画体系的介绍         CAAnimation是CoreAnimation框架中执行

iOS新添加测试设备后需要更新证书吗?

问题描述 iOS新添加测试设备后需要更新证书吗? 之前弄好了证书和测试设备,然后又加了一个设备,证书需要重新生成吗?? 解决方案 证书不许要重新生成, 更新provisioning profile即可

iOS 我用的3.x发送消息显示发送成功,但是cell不显示我发出的消息

问题描述 iOS 我用的3.x 发送消息显示发送成功,把他添加列表后也可以正常显示,可是当我离开此聊天页面再进来重新加载信息时,这个时候完全不显示我发出的消息..只有对方发来的消息.请问这是为什么啊?谢谢了~ 就是我每次进入到聊天页面加载的聊天消息都只有对方发来的..除非是我刚刚发出手动加到列表里 解决方案 获取消息记录的那个方法看下是否获取到自己发出的消息,还有确认下自己的消息是否被删除,可以查看本地DB解决方案二:可以// 得到最后消息文字或者类型- (NSString *)subTitle

jAni:可以动画显示背景图片的jQuery插件

文章简介:jAni是一个可以动画显示背景图片的jQuery插件.这个插件基本上是GIF动画的一个替代品,但是他有他的好处.所有浏览器都支持GIF形式的动画格式,而且也不需要额外的javaScript代码和标记.但是不好的一点是,GIF格式的图片只有256色.而且你不能控制图片的显示.这个插件 下载地址演示地址 简介 jAni是一个可以动画显示背景图片的jQuery插件.这个插件基本上是GIF动画的一个替代品,但是他有他的好处.所有浏览器都支持GIF形式的动画格式,而且也不需要额外的javaScr

Swift代码添加imageview及添加图片,图片却不显示

问题描述 Swift代码添加imageview及添加图片,图片却不显示 我不会用IOS约束布局,所以采用了Swift代码添加控件及设置控件,现在的问题是,我用代码添加了图片控件,并且设置了背景图片,为什么图片不显示呢?(我给这个图片添加的点击事件都响应了,就是不见图片)代码如下 解决方案 UIImage named的后面指定的是图片资源的名称,你需要把图片添加到你的工程的Assets.scassets中,new一个image set,然后取一个名字比如image10.然后named中就用你取得名

qt-在Qt中给widget添加背景图片,图片空白处显示为黑色

问题描述 在Qt中给widget添加背景图片,图片空白处显示为黑色 QPixmap pixmap(""picture/love.png"");QPalette palette;palette.setBrush(QPalette::Window QBrush(pixmap.scaled(size() Qt::IgnoreAspectRatio Qt::SmoothTransformation)));this->setPalette(palette);setAut