2016-07-15 7 views
0

私は多くのサブビューを持つビューを持っています。ユーザーがタップすると、すべてのビューが強調表示されます。私はサブビューをループしてハイライトすることができます。しかし、エレガントではありません。だから私はこれを達成するための最良の方法は何ですか。何か案は?テーブルビューセルのようにハイライトを表示する方法

答えて

1

サブビューの色が親ビューと異なっていますか?そうでない場合は、サブビューの背景を透明にしてから、ハイライトする必要がある場合は、親ビューを強調表示します。

+0

申し訳ありませんが、すべてのサブビューは異なる振る舞いを持っています。でもありがとう。 – Lumialxk

+0

heh、それから、あなたはそれらをループすることに固執するつもりだと思う... – Fonix

+0

そうでなければ[key-value observing](http://nshipster.com/key-value-observing/)を使って何かを試すことができますが、単にルーピングよりも多くの作業が必要になります。おそらくわずかにエレガントです。 – Fonix

0

ハイライト表示するすべてのビューを含む配列を作成します。その後、必要に応じてアレイをループして強調表示します。

0

はUIViewののカスタムクラスを作成し、コードは次のとおり

-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event 
{ 
    self.backgroundColor=[UIColor YourColor]; 
} 
-(void)touchesEnded:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event 
{ 
    self.backgroundColor=[UIColor PreviousColor]; 
} 
関連する問題