iOS實現(xiàn)拖拽View跟隨手指浮動效果
更新時間:2020年02月21日 14:41:26 作者:LayneCheung
這篇文章主要為大家詳細(xì)介紹了iOS實現(xiàn)拖拽View跟隨手指浮動,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了iOS實現(xiàn)拖拽View跟隨手指浮動的具體代碼,供大家參考,具體內(nèi)容如下
效果圖:
1.自定義要跟隨手指浮動的那個View
// // OrangeView.m // 拖拽View跟隨手指浮動 // // Created by llkj on 2017/8/16. // Copyright © 2017年 LayneCheung. All rights reserved. // #import "OrangeView.h" @implementation OrangeView //當(dāng)開始觸摸屏幕的時候調(diào)用 - (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{ NSLog(@"%s", __func__); } //觸摸時開始移動時調(diào)用(移動時會持續(xù)調(diào)用) //NSSet:無序 //NSArray:有序 - (void)touchesMoved:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{ NSLog(@"%s", __func__); UITouch *touch = [touches anyObject]; //求偏移量 = 手指當(dāng)前點的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); } //當(dāng)手指離開屏幕時調(diào)用 -(void)touchesEnded:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{ NSLog(@"%s", __func__); } //當(dāng)發(fā)生系統(tǒng)事件時就會調(diào)用該方法(電話打入,自動關(guān)機(jī)) - (void)touchesCancelled:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{ NSLog(@"%s", __func__); } @end
2.創(chuàng)建自定義的View
在storyboard中拖一個View綁定他的類為OrangeView;
或者代碼創(chuàng)建手動添加到控制器的View上去;
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
ios UITableView實現(xiàn)無數(shù)據(jù)加載占位圖片
這篇文章主要介紹了ios UITableView實現(xiàn)無數(shù)據(jù)占位圖片,具有一定的參考價值,有興趣的可以了解一下2017-08-08WKWebview非全屏自動播放h5視頻的實現(xiàn)方法(Swift、OC)
這篇文章主要給大家介紹了關(guān)于WKWebview非全屏自動播放h5視頻的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05