0

label.textビューの内部を追加するにはどうすればよいですか?UIScrollviewただし、特定の順序で、各ラベルには連続したタグ1、2、3、4、5があります。これは、各ラベルを配列に保存する必要があるため重要です。注文。

問題は、検索を使用すると、ラベルが異なる順序で送信されることです。これをどのように制御できますか?

検索する私のコードは次のとおりです。

for (UIView *addedView in [self.scrollView subviews]){
    for (UIView *sub in [addedView subviews])
    {
        if([sub isKindOfClass:[UILabel class]])
        {
            UILabel *myLabel = (UILabel *)sub;
            [array addObject:mylabel.text];
        }
    } 
}
4

2 に答える 2

3
for (int i = 1 ;i <= [self.scrollView.subviews count] ;i++){
        UIView *myView = (UIView *) [addedView viewWithTag:i];

           if(myView && [myView isKindOfClass:[UILabel class]]){
           UILabel *label = (UILabel *)myView;
            [array addObject:label.text]; );
        }
    }
于 2012-11-05T11:38:09.180 に答える
2

持っているタグに基づいてビューにアクセスしてみませんか?

UIView* view = [self.scrollView viewWithTag:tag];

定義したすべてのタグを反復処理すると、ビューを処理する順序を制御できるようになります。そうでなければ、それsubviewsはサブビューのスタックアップ順序を反映していると思います。あなたはで試すことができます:

for (NSUInteger i = 1; i <= 5; ++i) {
    UIView* view = [self.scrollView viewWithTag:i];
    ...
}

さらに良いことに、ラベルのタグを割り当ててから、次を使用することもできます。

for (NSUInteger i = 1; i <= 5; ++i) {
    UIView* view = [self.scrollView viewWithTag:i];
    UILabel* myLabel = (UILabel*)[view viewWithTag:kLabelTag];
    ...
}
于 2012-11-05T11:31:31.403 に答える