をUIView
使用してビューを作成および挿入する がありますGCD
。それは取り組んでいますiOS7
が、UIImageView
sが表示されるまでには永遠にかかります。
これが私が使用しているサンプルコードです。
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ビュー。
どうすれば機能しますか?ディスパッチ ブロック内のメソッドが呼び出されていますが、単にUIView
s が表示されていません。
ありがとう!