将UIButton移动到圆形边框内?

时间:2013-01-22 04:04:11

标签: objective-c uiviewanimation

在我的应用程序中,我需要在圆形边框内移动 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{

    }
}

有没有人知道如何做到这一点?在此先感谢。

1 个答案:

答案 0 :(得分:0)

通过触摸移动UIButton,您无法使用任何触摸方式,例如touchBegin或'touchMoved`。

您必须为

等不同操作创建IBAction
UIControlEventTouchDragOutside
UIControlEventTouchDragInside
UIControlEventTouchDragExit
UIControlEventTouchDragEnter

通过使用这些方法,您可以移动按钮......

并且只保持在圆形边框中移动,你的逻辑看起来很好......