Цель: заставить светиться одно изображение за раз, когда палец проводит по каждой из серий изображений.
Пытаясь выяснить это самостоятельно, я попытался обновить альфа-канал касаемого изображения до 1,00, а для всех остальных в серии изображений установить альфа-канал 0,25, когда палец перетаскивает каждое отдельное изображение с помощью touchesMoved? Однако мои методы ниже не дали желаемого результата.
Обложка для наложения Glow для каждого из восьми изображений создается в viewDidLoad с использованием этого шаблона:
-(void)viewDidLoad
{
Glow *imageOne = [[Glow alloc]
initWithNibName:@"ImageOne" bundle:[NSBundle mainBundle]];
self.glowOneView = imageOne;
[imageOne release];
[self.glowOneView setTag:101];
[self.glowOneView setAlpha:0.25];
[self.glowOneView setCenter:CGPointMake(160,135)];
[self.view insertSubview:self.glowOneView atIndex:11];
}
(повторение приведенного выше шаблона для уникального создания каждого из оставшихся восьми изображений).
Паттерн touchesMoved выглядит так:
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
NSLog(@"Touches Began");
UITouch *touch = [touches anyObject];
if ([touch view] == glowOneView) {
[glowOneView setAlpha:1.00];
[glowTwoView setAlpha:0.25];
[glowThreeView setAlpha:0.25];
[glowFourView setAlpha:0.25];
[glowFiveView setAlpha:0.25];
[glowSixView setAlpha:0.25];
[glowSevenView setAlpha:0.25];
[glowEightView setAlpha:0.25];
NSLog(@"Began Button One");
}
else if ([touch view] == glowTwoView) {
[glowOneView setAlpha:0.25];
[glowTwoView setAlpha:1.00];
[glowThreeView setAlpha:0.25];
[glowFourView setAlpha:0.25];
[glowFiveView setAlpha:0.25];
[glowSixView setAlpha:0.25];
[glowSevenView setAlpha:0.25];
[glowEightView setAlpha:0.25];
NSLog(@"Began Button Two");
}
...
(повторяя приведенный выше шаблон для уникальной обработки каждого из оставшихся восьми изображений).
Приведенные выше фрагменты кода будут подсвечивать первое касание изображения, но при перетаскивании по представлению touchesMoved не будет обновлять альфа-канал для любого последующего изображения, по которому перетаскивается палец, до тех пор, пока касание не будет отпущено и не будет инициировано новое касание.
Консоль показывает touchesMoved NSLog только из первого изображения, к которому прикоснулись, и постоянно повторяет NSLog для этого первого изображения, к которому прикоснулись, пока палец перетаскивается, независимо от того, какое изображение впоследствии находится под перетаскивающим пальцем.
Я был бы очень признателен за ваш совет и любой пример, который заменяет или обновляет вышеуказанные методы для получения желаемого результата, заключающегося в том, чтобы светиться по одному изображению за раз, когда палец перетаскивается по каждому из серий изображений.
Спасибо,