UILabels、UISliders、UITextboxesなどを含むUIViewがあります。スライダーだけでアクションを実行したい。これはどのように行われますか?現在、私は持っています
int count = 0;
for (UIView *subview in [myView subviews])
{
if ([subview isKindOfClass:[UISlider class]]);
{
[subview removeFromSuperview];
NSLog(@"Class for object removed is %@",[subview class]);
count ++;
}
//else{do nothing - subview isn't a slider, so I don't care about it}
}
NSLog(@"count = %d",count);
このコードを実行すると、すべてが影響を受けます(スライダー、ラベル、テキストボックス、その他すべて)。私が他の投稿を読んで集めたものから、配列でisKindOfClassを使用するのはちょっとグリッチですが、それはやろうとしたときだけだと思いましたisKindOfClass:[NSArray class]
。それとも私はそれについて間違っていますか?このループisKindOfClass
内のネストがfor
許可されていない場合、ビューの特定のアイテムに対してアクションを実行するにはどうすればよいですか?
編集:これの1つの実装のためのコード全体を追加しました。カウントはオフであり、NSLogはUILabelのすべてが削除されていることを教えてくれます。これが実行された後、私のビューはすべて完全に空になります。
編集2:;
実際のコードにあるようなifステートメントの最後に追加されました。コードから削除したところ、期待どおりの動作が得られました。