重複または繰り返しの質問としてマークする前に、私の質問を読んでください...
いくつかの画像を表形式で配置する scroleView が 1 つあります。
ユーザーがいずれかをクリックすると、次のビュー コントローラーが表示され、クリックされた画像の uiview に緑色の境界線が表示されます。
- ユーザーがこのビューに戻ると、クリックされた画像が緑色の枠線で表示されます。これはすべてうまくいきました
しかし、ユーザーが他の画像をクリックすると問題が発生します。以前にクリックした画像は正常に戻りません。つまり、幅を 0.0 に設定し、色をclearColor
これらの境界線を削除する方法を教えてください
私のコードは以下の通りです:
for (int row = 0; row < r; ++row)
{
for (int col = 0; col < 2; ++col)
{
int index = (row * 2) + col;
if(index < [tempArr count])
{
CGRect frame = CGRectMake(10+col*(10+145),10+row*(5+100),145, 100);
UIView *fr = [[UIView alloc] initWithFrame:frame];
CGRect imgFrame = CGRectMake(0, 0, 145, 100);
UIImageView *imgView = [[UIImageView alloc]initWithFrame:imgFrame];
imgView.image = [UIImage imageNamed:[[tempArr objectAtIndex:index]valueForKey:@"add"]];
UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tapAction:)];
fr.layer.borderWidth = 0.0f;
fr.layer.borderColor = [UIColor greenColor].CGColor;
if(selctedFrame == index)//Here i put border
{
fr.layer.borderWidth = 2.0f;
fr.layer.borderColor = [UIColor greenColor].CGColor;
}
else //here i remove them
{
fr.layer.borderWidth = 0.0f;
fr.layer.borderColor = [UIColor clearColor].CGColor;
}
tapGesture.numberOfTapsRequired = 1;
tapGesture.numberOfTouchesRequired = 1;
[fr addGestureRecognizer:tapGesture];
[fr addSubview:imgView];
fr.tag = index;
[self.scrollDisplay addSubview:fr];
[self.scrollDisplay bringSubviewToFront:fr];
}
}
}
[self.view addSubview:self.scrollDisplay];
このメソッドはメソッドで呼び出されviewWillAppear:animated:
ます
編集
前後のナビゲーションの後