自定义实现moveable button
生活随笔
收集整理的這篇文章主要介紹了
自定义实现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的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android开源之行之走进zxing,
- 下一篇: GitHub初次使用记录(一)