iOS 关于可拖动的button

今天又是闲得蛋疼,研究一下关于button拖动事件,其实很简单,是需要几句话就可以,废话不多说,上代码

关于viewcontroller.h里面的东西

@property(nonatomic,strong)UIButton *button;

关于viewcontroller.m里面的东西
首先写viewDidLoad里面的

self.button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    self.button.frame = CGRectMake(100, 100, 50, 50);
    self.button.backgroundColor = [UIColor redColor];
    [self.button setTitle:@"触摸" forState:UIControlStateNormal];
    [self.button setTitle:@"移动" forState:UIControlEventTouchDown];
    [self.button addTarget:self action:@selector(dragMoving:withEvent: )forControlEvents: UIControlEventTouchDragInside];
    [self.button addTarget:self action:@selector(dragEnded:withEvent: )forControlEvents:UIControlEventTouchUpOutside];
    [self.button addTarget:self action:@selector(buttonAction:) forControlEvents:(UIControlEventTouchUpInside)];
    [self.view addSubview:self.button];
    }

然后是方法

- (void) dragMoving: (UIControl *) c withEvent:ev
{
    c.center = [[[ev allTouches] anyObject] locationInView:self.view];
}

- (void) dragEnded: (UIControl *) c withEvent:ev
{
    c.center = [[[ev allTouches] anyObject] locationInView:self.view];
}

-(void)buttonAction:(UIButton *)sender
{
    NSLog(@"起飞");
}

好了,就是这么简单

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • iOS开发中,页面传值是很常见的,但是页面传值你究竟知道多少呢?笔者这篇文章就是给大家介绍一下页面传值的具体方式,...
    蒲公英少年带我飞阅读 6,516评论 10 45
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,238评论 4 61
  • 初秋高寺已寒凉。 层朵向西方。 闲来上山寻缘理, 伫崖石,无语参祥。 天宇旷遥, 星埃渺小, 西都有边疆。 回归居...
    寺咀山主人阅读 1,683评论 0 5
  • 不易歌 止戈山人 2007-7-3 15:33 仁不易,义不易,多少豪杰把头弃。 荣不易,誉不易,多少名贵苦涩里。...
    西北放狼娃阅读 929评论 0 0
  • 周末的时候,我和妈妈把我的姥姥送到老年托儿所,当然它的别称就是养老院。 我是第一次过去,三层的红色小楼,混砖结构。...
    轶然阅读 3,150评论 0 0