Перемещение ручки перетаскивания при перетаскивании UIButton - PullRequest
0 голосов
/ 27 февраля 2012

У меня есть представление, в котором есть кнопки UIB, которые реагируют на события перетаскивания.Это все работает нормально, проблема в том, что кнопка имеет размер только 70X70, и изображение для кнопки при перетаскивании в значительной степени закрывается пальцем (процесс состоит в том, что пользователь перетаскивает изображение (UIButton) в целевую область на виде),Есть ли способ сместить ручку перетаскивания, чтобы она не была центральной точкой UIButton?В идеале я бы хотел, чтобы он был в верхнем правом углу изображения для кнопки UI, потому что нижний левый угол - это область, которую я больше всего волную при просмотре пользователем.

РЕДАКТИРОВАТЬ: Вот код, который я использую для обработкисобытия касания (перетаскивания):

- (IBAction) imageTouch:(id) sender withEvent:(UIEvent *) event
{
    UIButton *thisButton = (UIButton *)sender;

    CGPoint centerPoint = [[[event allTouches] anyObject] locationInView:self.view];
    UIControl *control = sender;
    control.center = centerPoint;

    UIColor *selColor = [WebImageOperations getColorFromImage:self.targetImageView.image atX:point.x andY:point.y];

    NSInteger thisScore = [Scoring scoreFromUIColor:selColor withArrow:thisButton.tag];

    switch (thisButton.tag) {
        case 10:
            arrow10Score = thisScore;
            self.score10Label.text = [NSString stringWithFormat:@"%d", arrow10Score];
            break;
        case 12:
            arrow12Score = thisScore;
            self.score12Label.text = [NSString stringWithFormat:@"%d", arrow12Score];
            break;
        case 14:
            arrow14Score = thisScore;
            self.score14Label.text = [NSString stringWithFormat:@"%d", arrow14Score];
            break;

        default:
            break;
    }

    NSInteger totalScore = arrow10Score + arrow12Score + arrow14Score;
    self.totalScoreLabel.text = [NSString stringWithFormat:@"%d", totalScore];
}

1 Ответ

0 голосов
/ 29 мая 2012

Я не думаю, что это возможно. Если кто-то сталкивается с этим вопросом и имеет решение, пожалуйста, опубликуйте его здесь, и я отмечу этот ответ как правильный.

...