ios 添加浮动效果_iOS实现拖拽View跟随手指浮动效果
效果圖:
1.自定義要跟隨手指浮動(dòng)的那個(gè)View
//
// OrangeView.m
// 拖拽View跟隨手指浮動(dòng)
//
// Created by llkj on 2017/8/16.
// Copyright ? 2017年 LayneCheung. All rights reserved.
//
#import "OrangeView.h"
@implementation OrangeView
//當(dāng)開始觸摸屏幕的時(shí)候調(diào)用
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
NSLog(@"%s", __func__);
}
//觸摸時(shí)開始移動(dòng)時(shí)調(diào)用(移動(dòng)時(shí)會(huì)持續(xù)調(diào)用)
//NSSet:無(wú)序
//NSArray:有序
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{
NSLog(@"%s", __func__);
UITouch *touch = [touches anyObject];
//求偏移量 = 手指當(dāng)前點(diǎn)的X - 手指上一個(gè)點(diǎn)的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);
}
//當(dāng)手指離開屏幕時(shí)調(diào)用
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{
NSLog(@"%s", __func__);
}
//當(dāng)發(fā)生系統(tǒng)事件時(shí)就會(huì)調(diào)用該方法(電話打入,自動(dòng)關(guān)機(jī))
- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event{
NSLog(@"%s", __func__);
}
@end
2.創(chuàng)建自定義的View
在storyboard中拖一個(gè)View綁定他的類為OrangeView;
或者代碼創(chuàng)建手動(dòng)添加到控制器的View上去;
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。
總結(jié)
以上是生活随笔為你收集整理的ios 添加浮动效果_iOS实现拖拽View跟随手指浮动效果的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 分页请求json数据_pyspider抓
- 下一篇: 数据库授予用户增删改查的权限的语句_my