У меня есть NSMutableArray UILabels.Мне нужно иметь возможность выбрать конкретную UILabel в этом NSMutableArray при касании пользователя и переместить центр этого касания UILabel туда, куда пользователь перетаскивает палец.
Я могу переместить определенную UILabel вмой букетOfLabels NSMutableArray, выполнив:
UIGestureRecognizer *gestureRecognizer;
touchPosition = [gestureRecognizer locationInView:mainView];
NSLog(@"x: %f", touchPosition.x);
UILabel *temp;
temp = [bunchOfLabels objectAtIndex:0];
temp.center = touchPosition;
, это всегда будет перемещать первый ярлык, даже если пользователь касается второго, третьего или любого другого ярлыка.
, но мне нужно сказать, переместите objectAtIndex: 4 UILabel везде, где пользователь касается и перетаскивает объект. AtIndex: 4 UILabel.
Я новичок, может кто-нибудь помочь мне с этим?Спасибо!
Добавлена информация: в настоящее время я использую UIPanGestureRecognizer, например:
-(void)setupLabels {
bunchOfLabels = [[NSMutableArray alloc] initWithCapacity:[characters count]];
for (int i=0; i < [characters count]; i++) {
int xPosition = arc4random() % 518;
int yPosition = arc4random() % 934;
UILabel *tempCharacterLabel = [[UILabel alloc] initWithFrame:CGRectMake(xPosition, yPosition, 60, 60)];
tempCharacterLabel.text = [characters objectAtIndex:i]; // characters is another NSMutableArray contains of NSStrings
[tempCharacterLabel setUserInteractionEnabled:YES];
[bunchOfLabels addObject:tempCharacterLabel];
UIPanGestureRecognizer *panGesture = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(panElement:)];
[panGesture setMaximumNumberOfTouches:2];
[[bunchOfLabels objectAtIndex:i] addGestureRecognizer:panGesture];
}
}
-(void)panElement:(UIPanGestureRecognizer *)gestureRecognizer
{
UILabel *temp;
temp = [bunchOfLabels objectAtIndex:1];
temp.center = touchPosition;
}
Пока все в порядке, но я застрял в возможности переместить определенную UILabel вСвязкаOfLabels (в коде выше, objectAtIndex: 1).