Swift - 使用UI Dynamics给UIKit组件添加移动吸附行为
2023-09-11 14:17:59 时间
UI Dynamics是UIKit的一个新组成部分,它向iOS中的视图提供了与物理学有关的功能和动画。可以让你向视图中引入力和物理属性,可以让你的视图弹跳,舞动,受重力影响等等。
原文出自:www.hangge.com 转载请保留原文链接:http://www.hangge.com/blog/cache/detail_870.html
下面通过样例,演示使用UISnapBehavior给UIImageView添加移动吸附行为。
效果图如下:(点击屏幕,苹果会动态移动到点击的位置,移动时还有倾斜和缓动效果)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
import UIKit class ViewController : UIViewController { @IBOutlet weak var imageView: UIImageView ! var dynamicAnimator = UIDynamicAnimator () var snap: UISnapBehavior ? override func viewDidLoad() { super .viewDidLoad() dynamicAnimator = UIDynamicAnimator (referenceView: self .view) } @IBAction func tapped(sender: AnyObject ){ //获取点击位置 let tap = sender as ! UITapGestureRecognizer let point = tap.locationInView( self .view) //删除之前的吸附,添加一个新的 if self .snap != nil { self .dynamicAnimator.removeBehavior( self .snap!) } self .snap = UISnapBehavior (item: self .imageView, snapToPoint: point) self .dynamicAnimator.addBehavior( self .snap!) } override func didReceiveMemoryWarning() { super .didReceiveMemoryWarning() } } |
原文出自:www.hangge.com 转载请保留原文链接:http://www.hangge.com/blog/cache/detail_870.html
相关文章
- Google Earth Engine APP——gee-ui geetemp 前端团队组件库
- react 创建组件
- vue2.0 之 douban (四)创建Swipe图片轮播组件
- 第五章 CSP 架构 - 组件,信息流
- Vue - 获取 UI 组件库 <upload> 上传组件返回的 File 对象文件扩展名,拿到 Ant Design Vue / Element UI 等组件库的上传组件返回 File 文件的后缀名
- Vue - 完美解决 Element UI 侧边导航菜单 <el-menu> 出现滚动条,去掉 Element 侧边导航组件的横纵滚动条(但滚动功能依然保留,仅仅是去掉 “滚动条“)100% 解决方案
- hive组件和执行过程
- 封装一个优雅的element ui表格组件
- Transform组件C#游戏开发快速入门
- 【ARK UI】HarmonyOS ETS如何创建PixeMap并显示Image组件上
- 【Java UI】HarmonyOS 如何集成SlidingDrawer组件
- Vue动态加载组件的四种方式
- vue.js相关UI组件收集
- Element-ui组件库Table表格导出Excel表格--存在重复数据问题-----建议前端不做导出逻辑,应该是后端做处理
- Vue知识点总结(12)——组件通信-子传父(超级详细)
- react-redux、Provider、整合容器组件与UI组件、多组件数据共享
- vue前台(二)在路由配置项中,配置meta属性来影藏组件
- @检索 COM 类工厂中 CLSID 为 {28E68F9A-8D75-11D1-8DC3-3C302A000000} 的组件时失败,原因是出现以下错误: 80040154。"}
- 【HarmonyOS】【ARK UI】鸿蒙JS怎么使用Web组件展示网页内容
- 从零開始学android<AnalogClock与DigitalClock时钟组件.三十一.>
- Android经常使用UI组件 - Button
- Unity UI系统-NGUI-基本组件(二)
- jQuery Easy UI Panel(面板)组件
- 关于Unity中UI中的Button节点以及它的Button组件
- 小波说雨燕 第三季 构建 swift UI 之 UI组件集-视图集(二)ActionSheet视图 学习笔记
- 小波说雨燕 第三季 构建 swift UI 之 UI组件集-视图集(一)视图共性 学习笔记
- vue父传子属性命名和封装组件命名问题(巨坑)
- Vue使用Element-UI的table组件和后端接口进行数据交互(包含前后端代码)
- 造个自己的Vue的UI组件库类似Element