【UIDynamic-动力学-附着行为-刚性附着 Objective-C语言】

一、接下来,我们来说这个附着行为啊,

通知

1.我们之前举过例子,一个车坏了,另外一个车,拉着这个车,就是附着行为啊,

这个里边呢,我们新建一个项目,

通知

Name:09-附着行为-刚性附着,

通知

附着行为呢,分为两个大类:

1)刚性附着

2)弹性附着

通知

刚性附着,指的就是,两个物体之间,有一个硬的一根杆儿,

弹性附着,指的就是,两个物体之间,有一个有弹性的一根绳儿,

可以去来回拉,

问个问题,假如说,一个汽车,拉着另外一个汽车,那是刚性附着,还是弹性附着,一般情况下,拿啥去拉,一般情况下,应该是拿一根刚性的东西去拉啊,你假如说,你真拿一根皮筋儿去拉的话,那假如说,前面那个车一刹车,后面不就撞上去了吗,

我们接下来,来做啊,来做这个,刚性附着,

通知

首先,我们还是需要一个红色的UIView啊,

通知

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

redView.backgroundColor = [UIColor redColor];

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

[self.view addSubview:redView];

然后,再来一个全局的redView,

@property(nonatomic,weak)UIView *redView;

通知

再给全局的赋一下值,

self.redView = redView;

通知

再去写它的touchBegan:啊,我们先来跑一下,

通知

command + R,

通知

这个红色的UIView有了,有了以后呢,当我们点击touchBegan的时候,

怎么着去给它,添加一个附着行为,

附着到哪儿,附着到我的手指上,

我现在干什么,当我点击屏幕的时候,让这个红色的View,跟我的鼠标这个位置,中间连上一根杆儿,

然后,当我的鼠标移动的时候,这个红色的View,应该跟着我去移动,

3.首先,当我点击屏幕的时候,去添加一个行为,那么,也是三大步:

1)创建动画者对象

2)创建行为

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

首先,创建一个动画者对象,直接写一个全局的了啊,xStrong,

通知

@property(nonatomic,strong)UIDynamicAnimator *animator;

通知

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

通知

动画者有了,然后呢,创建行为,这个是一个附着行为,UIAttachment

通知

UIAttachmentBehavior *attach = [[UIAttachmentBehavior alloc] initWith

通知

这个里边,有四个方法:

1)initWithItem:(id) attachedToItem:(id)

2)initWithItem:(id) attachedToAnchor:(CGPoint)

3)initWithItem:(id) offsetFromCenter:(UIOffset) attachedToAnchor:(CGPoint)

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

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

相关文章

三人同行免单模式:社交电商的新趋势

在当今社交电商日益繁荣的背景下,三人同行免单模式作为一种创新的购物激励机制,正逐渐受到消费者和品牌的青睐。该模式通过消费者之间的互动和分享,促进产品销售和品牌推广,实现消费者与品牌的双赢。 模式概述 三人同行免单模式的…

企业级WordPress开发 – 创建企业级网站的优秀技巧

目录 1 “企业级”一词是什么意思? 2 使用 WordPress 进行企业级 Web 开发有哪些好处? 3 使用 WordPress 进行企业级开发的主要好处 3.1 WordPress 可扩展、灵活且价格实惠 3.2 WordPress 提供响应式 Web 开发 3.3 WordPress 提供巨大的可扩展…

vue2 使用 tailwind css vscode 100%成功

环境 vue -V ---- vue/cli 5.0.8 node -v ----- v16.15.0 npm -v ----- 6.14.18 环境不一样可能不会100%成功哦 创建项目 vue create tailwind 选择vue2 修改package.json "dependencies": {"babel/eslint-parser": "^7.24.7"…

网络流量 数据包length计算

MTUMSSIP header(20 bytes)tcp header(20 bytes) lengthMTUEthernet header(14bytes) 其中MSS为Maximum Segment Size,即最大报文段长度,其受MTU大小影响,这里的MTU指的是三层的,二层的MTU固定为1500,不能修改。 MT…

PowerShell 是什么?它的作用都有哪些?

什么是 PowerShell PowerShell 是什么?PowerShell 是一种跨平台的任务自动化和配置管理框架,最初由微软开发并主要用于 Windows 环境。它结合了命令行界面和脚本语言功能,可以帮助用户执行系统管理任务和自动化流程。 PowerShell 的强大之处…

MySQL—索引—基础语法

目录 一、创建、查看以及删除索引的语法 (1)创建索引 1、会用到一个关键字:CREATE。 2、解释。 (2)查看索引 1、查看索引需要用到一个关键字:SHOW。 2、作用是去查看指定表中的所有索引。 &#xff…

html渲染的文字样式大小不统一解决方案

React Hooks 封装可粘贴图片的输入框组件(wangeditor)_react 支持图片拖拽的输入框-CSDN博客 这篇文章中的wangediter可粘贴图片的输入框,输入的文字和粘贴的文字在dangerouslySetInnerHTML渲染后出现了字体不统一的情况 在html中右键检查可…

postman测试接口使用

背景: 隔了一段时间没有用postman,有些忘记了,谨以此文来记录postman的使用,如有忘记就可以快速回忆 使用: 点击这个号,是创建接口页面 这里的复选框可供我们选择接口的rest方式 请求路径: …

一站式实时数仓Hologres整体能力介绍

讲师:阿里云Hologres PD丁烨 一、产品定位 随着技术的进步,大数据正从规模化转向实时化处理。用户对传统的T1分析已不满足,期望获得更高时效性的计算和分析能力。例如实时大屏,城市大脑的交通监控、风控和实时的个性化推荐&…

mybatis框架相关问题总结(本地笔记搬运)

1、背景 2、运行启动问题 问题一 运行spring boot项目时报错:‘factoryBeanObjectType‘: java.lang.String 解决一 版本问题,springframework版本和mybatis/mybatis-plus版本不兼容。现spring-boot使用3.3.0版本,mybatis-plus使用3.5.7…

下班时间如何安排?

随着互联网的飞速发展和数字化时代的来临,越来越多的人开始探索除了主业以外的赚钱途径,以增加收入来源。本文将为您介绍几种当前热门的高薪副业项目,包括网络任务赚钱、开设个人网店、电商导购推广、在线辅导教学、技能变现服务、视频创作分…

ROS程序设计系列 - 4.ROS Programming

ROS程序设计系列 - 4.ROS Programming 1. 源由2. 概念2.1 ROS services2.2 ROS actions2.3 ROS time2.4 ROS bags2.5 Debugging 3. 常见应用4. 示例4.1 运行4.2 代码 5. 视频课程 1. 源由 继续学习ROS编程,本章主要是一些基本组件和概念。并结合示例代码进行阐述。…

知识篇| 全面认识Git lfs

我们经常在使用hugging face上模型和数据集时候,如果要想模下载到本地,要使用git lfs 方式下载。 那么与git有什么关系?什么是git lfs? 现在最流行的代码管理工具就是git, Git 是业界流行的分布式版本控制工具,仓库与远端仓库同样保存了全量的文件和变更历史&am…

java:Multiple Bounds--类型变量(TypeVariable)定义的高级用法--<A extends ClassAIfAIfB >

做Java开发工作好多年了。今天偶然翻到 java.lang.TypeVariable的源码&#xff0c;好奇为什么 TypeVariable.getBounds()返回类型是个数组。 一般不都是<T extends Number> 这样用码&#xff1f;T难道还能extends多个类型&#xff1f; 同问&#xff1a;不应该是extend,为…

CSS-0_2 CSS和继承(inherit initial)

文章目录 CSS的层叠和继承inheritinitial很多你以为的样式初始值&#xff0c;其实是用户代理样式 碎碎念 CSS的层叠和继承 在上一篇 CSS和层叠、样式优先级 里已经讲过了层叠和优先级之间的关系&#xff0c;但是在CSS中的层叠除了体现在争抢露脸机会的优先级之外&#xff0c;还…

Python自动化(2)——键盘模拟

Python自动化(2)——键盘模拟 前台键盘模拟 前台键盘模拟和后台键盘模拟的区别在于&#xff0c;是否绑定窗口。即前台模拟是只模拟键盘操作&#xff0c;例如按下按键a&#xff0c;如果聚焦在一个文本文档的编辑区&#xff0c;那么就会把这个a输入进去。但如果是聚焦到了浏览器…

前端面试js高频手写大全

res.push(fn(arr[i])) } return res } 3. reduce实现数组的map方法 Array.prototype.myMap function(fn,thisValue){ var res []; thisValue thisValue||[]; this.reduce(function(pre,cur,index,arr){ return res.push(fn.call(thisValue,cur,index,arr)); },[])…

云计算考试题

Cloud ❀ 云计算-虚拟化常见的两种架构_裸金属架构和宿主型架构的区别-CSDN博客 为啥要成2 11 bcd 16 acd abcd BCD NAS为啥支持文件存储的协议 选BCD 什么是网络文件系统 选bcd 错题 选abc 选bcd 选 abd

Spring Cloud Gateway网关下的文档聚合(knife4j)

文章目录 引言I 服务发现自动聚合(discover)1.1 配置1.2 服务发现的路由聚合策略-数据来源1.3 编写动态路由实现类1.4 依赖II 其他2.1 网关动态加载swagger路由和配置2.2 无法处理 lb://URI,返回503错误。2.3 SpringBoot3 解决NoResourceFoundException: No static resource f…

让PG停摆一周的大会?2024 PGConf.dev 技术大盘点(下)

PGCon.Dev 的前身是 PGCon —— 最知名的 PostgreSQL Hacker 年度聚会&#xff0c;也可以说是决定 PostgreSQL 未来的会议。从 2007 年成立以来&#xff0c;一直都是在加拿大渥太华举办至今。 有多隆重呢&#xff1f;PG 核心组的 Peter Eisentraut 在会后做了一个统计&#xff…