今天又是閑得蛋疼,研究一下關(guān)于button拖動(dòng)事件,其實(shí)很簡(jiǎn)單,是需要幾句話就可以,廢話不多說,上代碼
關(guān)于viewcontroller.h里面的東西
@property(nonatomic,strong)UIButton *button;
關(guān)于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:@"移動(dòng)" 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(@"起飛");
}
好了,就是這么簡(jiǎn)單