【UIDynamic-动力学-UIGravityBehavior-重力行为 Objective-C语言】

一、UIGravityBehavior,重力行为,

通知

1.接下来啊,我们一个一个来做,

通知

新建一个项目,叫做:01-重力,

通知

接下来,我们在这个ViewController里边,

通知

ViewDidLoad:里边,先写一段简单的代码,

通知

我们写这么一段简单的代码,新建一个红色的UIView,把它显示在屏幕上,

UIView *redView = [[UIView alloc] init];

redView.backgroundColor = [UIColor redColor];

redView.frame = CGRectMake(100,100,100,100);

[self.view addSubview:redView];

然后,command + R,

通知

2.接下来,我们来做重力行为,

然后呢,怎么着做,首先呢,我是这个样子的,当我点击屏幕的时候,就给这个红色的View,给它添加一个重力,

然后,它有重力了以后,它就会自然的往下去落,

我一点击屏幕,然后给它添加一个重力,好,那,首先,我点击屏幕啊,

通知

选中这句话,删掉,先给它来一个touchBegan:啊,

- (void)touchesBegan:(NSSet < UITouch * >*)touches withEvent:(UIEvent *)event{

}

// 点击屏幕的时候调用

通知

接下来,我们要去给这个红色的View,去添加一个东西,

所以,我肯定要在这个里边,去拿到这个View,

所以呢,我先来一个全局的,xWeak,

通知

@property(nonatomic,weak)type *name;

通知

@property(nonatomic,weak)UIView *redView;

通知

然后呢,给全局属性赋值,

self.redView = redView;

通知

然后呢,我们在这儿,就开始来说啊,

我要添加一个,我要使用Dynamic的话,不仅仅是重力,步骤都是一样的,首先,

1)根据某一个范围,创建动画者对象

这是第一,首先,我要有一个做动画的东西,然后,我要做动画的话,你要告诉我在哪儿做动画,所以,你要告诉我一个View,你要告诉我一个范围,我才能够在这个范围里边,帮你去做动画,

通知

这是动画者对象,就是一个范围,一个View,

2)根据某一个动力学元素,也就是我们所说的这个某一个View,然后呢,根据某一个动力学元素,创建行为,

通知

3)把行为添加到动画者当中

就是这三步:

通知

好,你做其他的东西,也是这三步,

通知

都是一样的啊,首先呢,根据一个范围,创建一个动画者对象,

1)根据某一个范围 创建动画者对象

那么,这个动画者对象,叫做UIDynamicAnimator,

通知

UIDynamicAnimator *animator = [UIDynamicAnimator alloc] init

好,init,这块儿有一个叫做initWithReferenceView(UIView *)

通知

instancetype initWithReferenceView:(UIView

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/27277.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《征服数据结构》双端栈

摘要&#xff1a; 1&#xff0c;双端栈的介绍 2&#xff0c;双端栈的代码实现 1&#xff0c;双端栈的介绍 双端栈主要利用了“栈底位置不变&#xff0c;栈顶位置动态变化” 的特点&#xff0c;可以让两个栈共享一块存储空间。在前面我们讲到用数组实现栈的时候&#xff0c;如果…

memcached介绍和详解

Memcached 是一种高性能、分布式内存缓存系统&#xff0c;常用于加速动态 web 应用程序的性能&#xff0c;通过缓存数据库查询结果、对象等数据&#xff0c;减少对数据库的访问压力&#xff0c;从而提高响应速度和系统吞吐量。 ### Memcached 的特点和工作原理 #### 特点 1. …

2024最新流媒体在线音乐系统网站源码 音乐社区 多语言开心版

本文来自&#xff1a;2024最新流媒体在线音乐系统网站源码 音乐社区 多语言开心版 - 源码1688 应用介绍 简介&#xff1a; 2024最新流媒体在线音乐系统网站源码| 音乐社区 | 多语言 | 开心版 图片&#xff1a;

Hyper-V如何将文件复制到虚拟机?教您3个简单的方法!

需要将文件复制到虚拟机&#xff01; “大家好&#xff0c;有谁知道Hyper-V怎么将文件复制到虚拟机吗&#xff1f;我有一些文件&#xff0c;想要从主机中复制进虚拟机中&#xff0c;但是我不知道该怎么操作&#xff0c;有谁可以帮帮我吗&#xff1f;谢谢。” Hyper-V虚拟机可…

Python 使用 Tkinter库 设置 tkinter ttk 框架的背景颜色

Tkinter 设置 tkinter ttk 框架的背景颜色 在本文中&#xff0c;我们将介绍如何使用 Tkinter 在 tkinter ttk 框架中设置背景颜色。Tkinter 是 Python 中常用的 GUI 工具包&#xff0c;ttk 则是 Tkinter 中的一个模块&#xff0c;提供了一套更加现代化的控件。 Tkinter 简介 …

JAVA开发 PDF文件生成表格,表格根据内容自动调整高度

1、展示效果 2、相关功能实现 JAVA开发 使用Apache PDFBox库生成PDF文件&#xff0c;绘制表格 3、实现代码 import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.pdmodel.PDPage; import org.apache.pdfbox.pdmodel.PDPageContentStream; import org.ap…

新增多种图表类型,新增视频、流媒体、跑马灯组件,DataEase开源数据可视化分析工具v2.7.0发布

2024年6月11日&#xff0c;人人可用的开源数据可视化分析工具DataEase正式发布v2.7.0版本。 这一版本的功能变动包括&#xff1a;图表方面&#xff0c;新增对称条形图、桑基图、流向地图、进度条等图表类型&#xff0c;并对已有的仪表盘、指标卡、明细表、汇总表、水波图、象限…

android studio 自定义类注释模版

perferences>File and Code Templates>Class 填写&#xff1a; /*** ClassName: ${ClassName}* Description: ${Description}* Author: ${Author}* CreateDate: ${CreateDate}* UpdateUser: ${UpdateUser}* UpdateDate: ${UpdateDate}* UpdateRemark: ${UpdateRemark}* …

计算机网络(7) 错误检测

一.校验和 使用补码计算校验和是一种常见的错误检测方法&#xff0c;应用于网络协议如IP和TCP。补码是二进制数的一种表示方法&#xff0c;可以有效地处理符号位和进位。下面是如何利用补码计算校验和的详细步骤和算数例子。 ### 计算步骤 1. **将数据分块**&#xff1a;将数…

C++ 进制转换

描述 写出一个程序&#xff0c;接受一个十六进制的数&#xff0c;输出该数值的十进制表示。 输入描述&#xff1a; 输入一个十六进制的数值字符串。 输出描述&#xff1a; 输出该数值的十进制字符串。不同组的测试用例用\n隔开。 示例1 输入&#xff1a;0xAA 输出&…

探索C嘎嘎的奇妙世界:第二关---C++的输入与输出

1 C的输入与输出: 新生婴儿会以自己独特的方式向这个崭新的世界打招呼&#xff0c;C刚出来后&#xff0c;也算是一个新事物&#xff0c; 那C是否也应该向这个美好的世界来声问候呢&#xff1f;我们来看下C是如何来实现问候的呢? 在 C的不断发展中&#xff0c;出现了许多新的头…

pytorch 源代码目录作用归纳备忘

PyTorch 是一个开源的机器学习库&#xff0c;广泛用于应用程序如计算机视觉和自然语言处理。它是由 Facebook 的 AI 研究团队开发的&#xff0c;并且是基于 Torch 库。PyTorch 的设计非常模块化&#xff0c;主要可以分为几个核心部分&#xff1a; 1. torch 这是 PyTorch 的核…

redis易懂快速安装(linux)2024

1.首先打开虚拟机系统 2.打开终端&#xff0c;输入su - 输入管理员密码&#xff0c;进入管理员用户 3.输入inconfig查看ip地址 4.打开final shell 连接虚拟机&#xff0c;输入ip和root用户以及密码 5.连接成功 6.输入 cd /usr/local/src/ 进入要安装的文件夹 6.点击上传按钮…

IO系列(十) -TCP 滑动窗口原理介绍(上)

一、摘要 之前在上分享网络编程知识文章的时候&#xff0c;有网友写下一条留言&#xff1a;“可以写写一篇关于 TCP 滑动窗口原理的文章吗&#xff1f;”。 当时没有立即回复&#xff0c;经过查询多方资料&#xff0c;发现这个 TCP 真的非常非常的复杂&#xff0c;就像一个清…

Linux基础 (十八):Libevent 库的安装与使用

目录 一、Libevent 概述 1.0 Libevent的安装 1.0.1 使用源码方式 1.0.2 终端命令行安装 1.1 主要特性 1.2 主要组件 1.3 Libevent 使用模型 1.4 原理 1.5 使用的基本步骤 1.5.1 初始化事件基础设施 1.5.2. 创建和绑定服务器套接字 1.5.3. 设置监听事件 1.5.4. 定义…

Kinodynamic RRT-connect(Rapidly-exploring Random Tree-Connect)算法例子

Kinodynamic RRT-connect(Rapidly-exploring Random Tree-Connect)算法 是一种结合了快速扩展随机树(RRT)和动力学约束的路径规划算法。它特别适用于需要考虑动力学和运动学约束的复杂机器人系统,如人形机器人、无人驾驶汽车等。 主要原理 RRT基本原理: RRT算法通过在…

Pytorch Lighting Hydra库的学习

MVsplat 使用了Hydra 库来进行参数的配置 : 在文件运行的最开始的地方, 使用装饰器 使用 Hydra 这个库&#xff0c;一般都是对于 Main 函数进行修饰的&#xff0c;需要读取代码中的 yaml 文件&#xff1a; hydra.main(version_baseNone,config_path"../config", …

【Android面试八股文】你了解 pthread 吗?创建一个新线程会占用多少内存?

文章目录 一、你了解pthread吗?二、创建一个新线程会占用多少内存?三、在实际开发中,你会如何优化线程的内存使用呢?一、你了解pthread吗? 面试官: 你了解 pthread 吗? 求职者: 是的,我了解 pthread。pthread 是 POSIX threads 的缩写,是一种在 UNIX 和类 UNIX 系统…

SpringBoot中获取当前请求的request和response

在Spring Boot中&#xff0c;你可以以多种方式获取当前请求的HttpServletRequest和HttpServletResponse对象。以下是几种常见的写法示例&#xff1a; 1. 在方法参数中声明 最常见和推荐的方式是在控制器方法的参数中直接声明HttpServletRequest和HttpServletResponse对象。Sp…

java打印99乘法表

public class NineNineMulTable{public static void main(String[] args){for(int i 1; i < 9; i ){for(int j 1; j < i; j ){System.out.print(j " * " i " " i * j "\t");//再次先输出j在输出i是打印出来是1*2&#xff0c;2*2}S…