zoukankan      html  css  js  c++  java
  • UIdynamic系列认知

    1.刚上来就遇到的大坑

    按照前辈们的代码码上了一段重力效果,结果不管怎么折腾都没有任何效果,不由心塞。

    开始怀疑是不是模拟器不支持呀?是不是必须拖动到视图上的空间才可以呀?

    结果试了各种方法还是没效果,午睡醒来发现了大坑,原来是

    UIDynamicAnimator 要被定义为全局的变量,使他在视图的整个生命周期内都不被释放

    刚开始都是这样搞的

    UIDynamicAnimator  *animator =

    [[UIDynamicAnimator alloc] initWithReferenceView:self.view];

    UILabel * label = [[UILable alloc]initWithFrame:CGRectMake(100, 0, 200, 40)];

    label.backgroundColor = [UIColor redColor];

    [self.view addSubview:label];

    UIGravityBehavior *gravity =

    [[UIGravityBehavior alloc] initWithItems:@[label]];

    [animator addBehavior:gravity];

    上面的代码并没有一点毛用。

    因为物理仿真器对象被定义为了局部变量,这样上面一段代码在执行完毕之后 物理仿真器 animator 就被销毁了,这样就没有办法来执行后续的物理效果啦!

    所以最好把物理仿真器对象定义为属性变量,使他在整个视图的生命周期中都有效果。

  • 相关阅读:
    【go语言】Windows下go语言beego框架安装
    分页
    MongoDB用户与权限管理
    MongoDB安装在Centos7下安装
    centos7安装mysql5.7.33 tar包方式
    文件路径分隔符
    python之批量打印网页为pdf文件
    Python驱动SAP GUI完成自动化(五)
    动态内存与智能指针
    关联容器
  • 原文地址:https://www.cnblogs.com/danMing-love/p/7798705.html
Copyright © 2011-2022 走看看