7

内のすべてのビューを通過することなく、UILabel内のすべての を取得する方法が必要です。UIViewUIView

私は他の多くのタイプのビュー、 、 を持っていますが、UIButtonUIImageView必要なときにそれらすべてを調べるには長すぎますUILabel

私はこのようなことを避けようとしています:

for (UIView *view in myView.subviews) 
{
    if([view isKindOfClass:[UILabel class]])
    {
        UILabel *lbl = (UILabel*)view;
    }
}

それは可能ですか、それとも私は夢を見ていますか?

4

4 に答える 4

4

男、再帰を使用する必要があります。(タグを使いたくない場合)

これを試して。

-(UIView *)checkChild:(UIView *)view{

    NSArray *arrayView = view.subviews;
    UIView *returnView = nil;

    for (UIView *auxView in arrayView) {
        if ([auxView isKindOfClass:[UILabel class]]) {
            return auxView;
        }else{
            returnView = [self checkChild:auxView];
        }
    }
    return returnView;
}
于 2014-01-15T22:33:15.887 に答える
1

ラベルのタグプロパティを設定できます..このようなもの...

label.tag = 100;

UILabel *lbl = [yourView viewWithTag:100];
于 2012-04-12T16:56:05.797 に答える