簡単なコードを使用して、いくつかの画像をUIScrollView
. また、各画像のタッチを検出する別のコードを実装しました。
コードは次のとおりです。
(void)handleSingleTap:(UIGestureRecognizer *)sender
{
int senderTagIs;
senderTagIs = sender.view.tag;
if (sender.view.layer.borderColor != [UIColor cyanColor].CGColor) {
sender.view.layer.borderColor = [UIColor cyanColor].CGColor;
UIImageView *showFullImage = (UIImageView *)[self.view viewWithTag:sender.view.tag+100];
[showFullImage setTag:sender.view.tag+200];
[self.view addSubview:showFullImage];
showFullImage.hidden = NO;
NSLog(@"Show tag is: %i", sender.view.tag);
}
else
{
sender.view.layer.borderColor = [UIColor whiteColor].CGColor;
UIImageView *hideFullImage = (UIImageView *)[self.view viewWithTag:sender.view.tag+200];
[hideFullImage setTag:sender.view.tag+100];
hideFullImage.hidden = YES;
NSLog(@"Hide tag is: %i", sender.view.tag);
}
}
上記のコードは、境界線の色をシアンに設定し、 からの小さな画像をUIScrollView
別のUIImageView
.
しかし、私の問題は、1 つの画像がタッチされたときに、すべての画像を非表示にし、すべての画像の境界線の色を白に設定するオプションを設定できないことです。
例:最初の画像に触れると、コードが機能し、大きな UIImageView に触れた画像が表示され、触れた画像からUIScrollView
境界線のシアン色が取得されます。
ここで、3 番目の画像をタッチすると、最初の画像が表示され、境界線の色がシアンになるので、最初の画像をもう一度タッチして無効にする必要がありますが、これは私が望むものではありません。