首页 > 代码库 > 自定义实现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属性移动button self.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];}
自定义实现moveable button
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。