Переместить кнопку на экране - PullRequest
0 голосов
/ 17 мая 2011

У меня есть UIButton, и я хочу переместить эту кнопку, коснувшись и проведя пальцем по экрану. Когда я отпущу касание, оно будет в текущей позиции. Объясните, пожалуйста, пожалуйста.

Ответы [ 3 ]

2 голосов
/ 17 мая 2011

чек это

Вы должны сделать перемещение рамки из точек и соответственно переместить рамку так, чтобы ваша кнопка двигалась в местах касания

2 голосов
/ 17 мая 2011

Вы можете переместить вид, используя сенсорное перемещение. Существует пример учебника MoveMe от Apple, который перетаскивает вид и после отпускания касания оживляет вид. Специально проверьте события касания (touchesBegan, touchesMoved, touchesEnded) в MoveMeView.m , чтобы получить представление о том, как они переместили placardView. Вы можете перемещать свою кнопку так же, как placardView.

Взятый из , перетащите uibutton, чтобы он действовал как uiScrollView

1 голос
/ 17 мая 2011

Если вы пишете сценарии для iOS 3.2 и выше, рассмотрите возможность использования UIPanGestureRecognizer.

Просто прикрепите его экземпляр следующим образом:

...
UIPanGestureRecognizer *panGesture = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handlePan:)];
panGesture.maximumNumberOfTouches = 1;
panGesture.minimumNumberOfTouches = 1;

[self.button addGestureRecognizer:panGesture];
[panGesture release];
...

и определите handlePan: следующим образом,

- (void)handlePan:(UIPanGestureRecognizer *)panGesture {
    CGRect buttonFrame = self.button.frame;
    CGPoint translation = [panGesture translationInView:panGesture.view];

    buttonFrame.origin.x += translation.x;
    buttonFrame.origin.y += translation.y;

    [panGesture setTranslation:CGPointMake(0, 0) inView:panGesture.view];
    self.button.frame = buttonFrame;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...