iOS实现拖拽View跟随手指浮动效果

时间:2021-05-20

本文实例为大家分享了iOS实现拖拽View跟随手指浮动的具体代码,供大家参考,具体内容如下

效果图:

1.自定义要跟随手指浮动的那个View

//// OrangeView.m// 拖拽View跟随手指浮动//// Created by llkj on 2017/8/16.// Copyright © 2017年 LayneCheung. All rights reserved.//#import "OrangeView.h"@implementation OrangeView//当开始触摸屏幕的时候调用- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{ NSLog(@"%s", __func__);}//触摸时开始移动时调用(移动时会持续调用)//NSSet:无序//NSArray:有序- (void)touchesMoved:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{ NSLog(@"%s", __func__); UITouch *touch = [touches anyObject]; //求偏移量 = 手指当前点的X - 手指上一个点的X CGPoint currentPoint = [touch locationInView:self]; CGPoint prePoint = [touch previousLocationInView:self]; NSLog(@"ccurrentPoint = %@", NSStringFromCGPoint(currentPoint)); NSLog(@"prePiont = %@", NSStringFromCGPoint(prePoint)); CGFloat offSetX = currentPoint.x - prePoint.x; CGFloat offSetY = currentPoint.y - prePoint.y; //平移 self.transform = CGAffineTransformTranslate(self.transform, offSetX, offSetY);}//当手指离开屏幕时调用-(void)touchesEnded:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{ NSLog(@"%s", __func__);}//当发生系统事件时就会调用该方法(电话打入,自动关机)- (void)touchesCancelled:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{ NSLog(@"%s", __func__);}@end

2.创建自定义的View

在storyboard中拖一个View绑定他的类为OrangeView;
或者代码创建手动添加到控制器的View上去;

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章