博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Swift - 使用UI Dynamics给UIKit组件添加移动吸附行为
阅读量:4483 次
发布时间:2019-06-08

本文共 1057 字,大约阅读时间需要 3 分钟。

UI Dynamics是UIKit的一个新组成部分,它向iOS中的视图提供了与物理学有关的功能和动画。可以让你向视图中引入力和物理属性,可以让你的视图弹跳,舞动,受重力影响等等。
下面通过样例,演示使用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()
    
}
}
原文出自:   转载请保留原文链接:

转载于:https://www.cnblogs.com/Free-Thinker/p/4858369.html

你可能感兴趣的文章
006——修改tomacat的编码
查看>>
《C程序设计语言》笔记 (八) UNIX系统接口
查看>>
git常用命令
查看>>
Android必知必会-获取视频文件的截图、缩略图
查看>>
(转)理解Bitblt、StretchBlt与SetDIBitsToDevice、StretchDibits
查看>>
ViurtualBox配置虚拟机Linux的网络环境
查看>>
VLC 媒体播放器
查看>>
\n ^ \t的使用
查看>>
css盒模型
查看>>
探索式测试:测试自动化
查看>>
make install fping
查看>>
面试笔试题
查看>>
MySql可视化工具MySQL Workbench使用教程
查看>>
个人站立会议第二阶段07
查看>>
云时代架构阅读笔记五——Web应用安全
查看>>
IOS 单击手势和cell点击冲突
查看>>
学习_HTML5_day3
查看>>
计算机网络与应用第二次笔记
查看>>
Django之ORM查询
查看>>
学习python第七天
查看>>