在我的应用程序中,我需要在圆形边框内移动 uibutton ,我尝试了以下代码,但它似乎没有工作 -
- (IBAction) imageMoved:(id) sender withEvent:(UIEvent *) event{
UIControl *control = sender;
UITouch *t = [[event allTouches] anyObject];
CGPoint pPrev = [t previousLocationInView:control];
CGPoint p = [t locationInView:control];
if (control.center.x>40&&control.center.x<300) {
CGPoint center = control.center;
center.x += p.x - pPrev.x;
center.y += p.y - pPrev.y;
control.center = center;
}else if (control.center.y>40&&control.center.y<320){
CGPoint center = control.center;
center.x += p.x - pPrev.x;
center.y += p.y - pPrev.y;
control.center = center;
}else{
}
}
有没有人知道如何做到这一点?在此先感谢。
答案 0 :(得分:0)
通过触摸移动UIButton
,您无法使用任何触摸方式,例如touchBegin
或'touchMoved`。
您必须为
等不同操作创建IBActionUIControlEventTouchDragOutside
UIControlEventTouchDragInside
UIControlEventTouchDragExit
UIControlEventTouchDragEnter
通过使用这些方法,您可以移动按钮......
并且只保持在圆形边框中移动,你的逻辑看起来很好......