日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

自定义实现moveable button

發布時間:2023/12/2 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 自定义实现moveable button 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

實現的效果圖:

?

自定義MVButton,繼承自UIButton.

屬性聲明如下:

@property (nonatomic) CGPoint beginPoint; @property (nonatomic) BOOL dragEnable;

?

//自定義button對觸摸事件進行響應
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {//dragEnable = NO 則不響應動作if (!_dragEnable) {return;}UITouch *touch = [touches anyObject];//獲取button的當前位置_beginPoint = [touch locationInView:self]; }

 

//拖動自定義button時響應
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {if (!_dragEnable) {return;}UITouch *touch = [touches anyObject];//獲取要移動到的目標位置CGPoint nowPoint = [touch locationInView:self];
//確定目標位置與開始位置的偏移量float offsetX = nowPoint.x - _beginPoint.x;float offsetY = nowPoint.y - _beginPoint.x;//按照button的center屬性移動buttonself.center = CGPointMake(self.center.x + offsetX, self.center.y + offsetY); }

 

在ViewController.m中實現的代碼如下:

首先導入自定義的button:

#import "MVButton.h"

具體實現:

- (void)viewDidLoad {[super viewDidLoad];MVButton *mvButton = [[MVButton alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];mvButton.backgroundColor = [UIColor yellowColor];mvButton.dragEnable = YES;[self.view addSubview:mvButton]; }

  

轉載于:https://www.cnblogs.com/wjq-Law/p/4132867.html

總結

以上是生活随笔為你收集整理的自定义实现moveable button的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。