Довольно распространенный вопрос, на который у меня есть несколько ответов, и я почти там. У меня есть кнопка, которая при нажатии будет создавать изображение (код следующим образом)UIImage обнаруживает прикосновение и перетаскивание
(numImages устанавливается на нагрузке на НОЛЬ и используется в качестве подсчитывать для чисел тегов всех изображений, созданных)
UIImage *tmpImage = [[UIImage imageNamed:[NSString stringWithFormat:@"%i.png", sender.tag]] retain];
UIImageView *myImage = [[UIImageView alloc] initWithImage:tmpImage];
numImages += 1;
myImage.userInteractionEnabled = YES;
myImage.tag = numImages;
myImage.opaque = YES;
[self.view addSubview:myImage];
[myImage release];
У меня тогда есть метод touchhesBegan, который обнаружит, что коснулся. Мне нужно, чтобы пользователь мог перетащить вновь созданный образ. Он почти работает, но изображение мерцает повсюду, когда вы его перетаскиваете. Я могу получить доступ к изображению, на которое вы нажимаете, поскольку я могу получить его TAG, но я просто не могу его перетащить.
- (void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [[event allTouches] anyObject];
CGPoint location = [touch locationInView:touch.view];
if (touch.view.tag > 0) {
touch.view.center = location;
}
NSLog(@"tag=%@", [NSString stringWithFormat:@"%i", touch.view.tag]);
}
- (void) touchesMoved:(NSSet *)touches withEvent: (UIEvent *)event {
[self touchesBegan:touches withEvent:event];
}
Это работает, поскольку я получаю вывод тега для каждого изображения, когда я нажимаю на них. Но когда я перетаскиваю, он вспыхивает ... какие-то идеи?
приведенный выше код происходит от http://www.iphoneexamples.com/ –
спасибо за публикацию этого, но я получаю эффект дрожания во время этого, как его можно избежать? – itsaboutcode
спасибо человеку! работая как шарм :) – soupdiver