ええ、それはあなたが考えるよりも難しいです。私は、bugreporter.apple.comでレーダーをお勧めします。
私のコードでは、私は時々このようなコードでやっていました。私はすべてのボタンのフォントを変更するか、背景色などを変えることにした場合、時間と労力とバグを大幅に削減できます。 IBのレイアウト上の利点をコードの一貫性とともに提供します。
- (NSArray *)controlViewsForView:(UIView *)aView
{
if (!aView)
{
return nil;
}
NSMutableArray *controlViews = [NSMutableArray new];
for (UIView *subview in aView.subviews)
{
if ([subview isKindOfClass:[UIControl class]] && ! [self viewIsEffectivelyHidden:subview])
{
[controlViews addObject:subview];
}
[controlViews addObjectsFromArray:[self controlViewsForView:subview]];
}
return controlViews;
}
- (BOOL)viewIsEffectivelyHidden:(UIView *)view
{
if (! view)
{
return NO;
}
if ([view isHidden])
{
return YES;
}
return [self viewIsEffectivelyHidden:[view superview]];
}
私はここにいる:私は再帰的にすべてのコントロールを(私はポップオーバーパススルービューのためにこれを使用しますが、それはまた、大量の無効化のために便利です)を収集する必要がある場合にも、同様の技術を使用し
同じ質問。質問は古いです。その間、リンゴは解決策を提示しましたか?さもなければ、私はコレクションでの努力を見ません。私は(私の場合は)親ビューを使用し、サブビューセレクタを使用することができます。 – redestructa