码迷,mamicode.com
首页 > 其他好文 > 详细

自定义实现moveable button

时间:2014-11-30 13:48:18      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:blog   http   io   color   sp   on   div   2014   log   

实现的效果图:

bubuko.com,布布扣

 

自定义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

标签:blog   http   io   color   sp   on   div   2014   log   

原文地址:http://www.cnblogs.com/wjq-Law/p/4132867.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!