1

UIView使用してビューを作成および挿入する がありますGCD。それは取り組んでいますiOS7が、UIImageViewsが表示されるまでには永遠にかかります。

これが私が使用しているサンプルコードです。

UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 120)];

for (int i = 0; i < 200; i++) {
    UIView *view = [[UIView alloc] initWithFrame:CGRectMake(77 * i, 0, 77, 88)];
    [scrollView addSubview:view];

    dispatch_queue_t queue = dispatch_queue_create("image", NULL);
    dispatch_async(queue, ^{
        UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"photo@hd.png"]];
        imageView.frame = CGRectMake(0, 0, 77, 88);
        [view addSubview:imageView];

        dispatch_async(dispatch_get_main_queue(), ^{
            UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 0, 0)];
            label.text = [NSString stringWithFormat:@"Name %d", i];
            [label sizeToFit];
            label.center = CGPointMake(38.5, 20);
            [imageView addSubview:label];
        });
    });
    [scrollView setContentSize:CGSizeMake(view.frame.size.width * (i+1), view.frame.size.height)];
}

[self.view addSubview:scrollView];

ちなみに、私は多くUIViewの を作成しているため、スレッド化されています。最大で約200ビュー。

どうすれば機能しますか?ディスパッチ ブロック内のメソッドが呼び出されていますが、単にUIViews が表示されていません。

ありがとう!

4

0 に答える 0