0

.m

self.elements=[myElements getElements];

imagesElements = [[NSMutableArray alloc]init];
for(ElemetsList *item in self.elements)
{
        UIImageView *oneelement = [[UIImageView alloc] initWithImage:[UIImage imageNamed:item.imgElement]];
        oneelement.frame = CGRectMake(item.positionX, item.positionY, item.width, item.height);
        oneelement.userInteractionEnabled=YES;
        [imagesElements addObject:oneelement];
}

for(UIImageView *img in imagesElements) 
    [self.view addSubview:img];

次に、要素とやり取りしようとします。

-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
    UITouch *touch = [[event allTouches] anyObject];

    for(UIImageView *img in imagesElements) 
    {  
        if([self view] == img)
        {
            CGPoint location = [touch locationInView:self.view];
            img.center=location;
        }
    }
}

しかし、「if ([self view] == img)」は常に「NO」です。したがって、要素はドラッグされません。アイテムが配列にある場合、アイテムをドラッグ アンド ドロップする方法は?

4

1 に答える 1

1

画像ビューを追加すると、それらがのサブビューになるため、 が配列内にあるself.viewかどうかをテストする必要があります。それを含むビューと同じにすることはできません。imgsubviews

于 2012-07-18T16:18:42.197 に答える