Вопрос

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

Как мне ограничить прикосновение в текущем uiiimageView?

- (void)addNewImageToArray: (UIImage *)inImage
{
    UIImageView *tempImageView = [[UIImageView alloc]initWithImage:inImage];
    tempImageView.userInteractionEnabled = YES;
    tempImageView.center = self.vwDesktop.center;

    CALayer * l = [tempImageView layer];
    [l setBorderWidth:2.0];
    [l setBorderColor:[[UIColor grayColor] CGColor]];

    tempImageView.frame = CGRectMake(0,0,inImage.size.width,inImage.size.height);    

    [currentImageArray addObject:tempImageView];

    UIPanGestureRecognizer *stampPanGesture = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(moveStamp:)];
    [stampPanGesture setMinimumNumberOfTouches:1];
    [stampPanGesture setMaximumNumberOfTouches:1];
    [[currentImageArray objectAtIndex:currentImageArray.count - 1] addGestureRecognizer:stampPanGesture]; 

    [self.vwDesktop addSubview:[currentImageArray objectAtIndex:currentImageArray.count - 1]];  
}
.

Это было полезно?

Решение

Есть ли причина, причина, по которой вы не добавляете распознатель жест в TempImageView, прежде чем добавлять его в CUTECIMAGEARRAY?

Нам действительно нужно увидеть код в Movestamp.Основываясь на том, как вы это делаете, вам нужно допросить распознать, спросите его, кто его просмотр, а затем переместить этот вид.Ты делаешь это?У меня нет Code Handy, но выглядит что-то вроде:

- (void)moveStamp:(UIPanGestureRecognizer*)panRecognizer {
    UIView *viewToMove = panRecognizer.view;
    // move the view around
}
.

Panrecognizer будет указывать только на это, чтобы он должен работать.Я сделал это со многими объектами на экране (например, см. Мое приложение QPLUS, например, комбинируя сковороду, щепотку и кран жесты, и все они играют приятно вместе.

Удачи,

Damien

Другие советы

Может быть, вы можете использовать тег UiimageView, чтобы решить вашу проблему.

- (void)moveStamp:(UIGestureRecognizer *)gesture
{
    NSInteger tag = gesture.view.tag;
    if (tag = currentViewTag) {
        return;
    }
    //...
}
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top