1

タブにUIScrollviewがあり、UIScrollviewにUIView(NIB)を追加しました。各UIViewには、いくつかのUISwictch、ラベル、ボタンなどがあります。UIScrollviewに追加されたビュー内のlabel.textを取得するにはどうすればよいですか。

多くのことを試しましたが、UIScrollviewに追加されたUIViewのコンテンツにアクセスできます。

4

3 に答える 3

9

これで確認してください、

for (UIView *addedView in [self.scrollView subviews])
{
        for (UIView *sub in [addedView subviews])
        {
            if([sub isKindOfClass:[UILabel class]])
            {
                UILabel *myLabel = (UILabel *)sub;
                NSLog(@"My label :%@",myLabel .text);
            }
        }
}

これscrollView がスクロールビューです。すべてのラベルのテキストが印刷されます。

特定のラベルのテキストを印刷する必要がある場合。次に、タグを追加し、印刷する前にタグを確認します。if(myLabel.tag == 7)

于 2012-07-18T18:55:31.770 に答える
5

tagラベルに一意を設定します。

例:(label.tag = 10345一意のタグである乱数)

parentViewこのようにラベルを検索できます

UILabel *theLabel = (UILabel *)[parentView viewWithTag: 10345];

その後、ラベルを使用して好きなことを行うことができます。

于 2012-07-18T18:59:43.223 に答える
0

ステップ1:このコードをスクロールビューに追加する

UITapGestureRecognizer *singleTapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(singleTap:)];
singleTapGestureRecognizer.numberOfTapsRequired = 1;
singleTapGestureRecognizer.enabled = YES;
singleTapGestureRecognizer.cancelsTouchesInView = NO;
[scrollView addGestureRecognizer:singleTapGestureRecognizer];

ステップ2:このメソッドを実装する

-(void)singleTap:(UITapGestureRecognizer *)gesture
 {
    // Convert gesture into view for getting subviews
    CGPoint point = [gesture locationInView:mainScrollView];
    UIView *tappedView = [mainScrollView hitTest:point withEvent:nil];

    // Get the subviews of the view
    NSArray *subviews = [view tappedView];

    // Return if there are no subviews
    if ([subviews count] == 0) return;

    for (UIView *subview in subviews) {

        NSLog(@"%@", subview);

        // List the subviews of subview
        [self your_method:subview];
    }
}
于 2013-11-30T12:56:33.123 に答える