3

非 ui スレッド/関数から uiscrollview に一連の画像を描画しています。ただし、すべての画像の描画が完了した後にのみ表示されます。すべての画像を描画するために関数を作成しました。これが非 UI スレッドと呼ばれるものです。関数内にこの行を書きました

[self performSelectorOnMainThread:@selector(updateUI) withObject:nil waitUntilDone:NO];

そして、以下に示すように関数を書きました

- (void)updateUI
{
[myScrollView setNeedsDisplay];
}

しかし、コントロールがその関数に渡されているのがわかっても、効果はありません。今何をする?

4

4 に答える 4

1

わかりました、私は解決策を得ました。ソリューションが気に入らないにもかかわらず、完全に機能しています。このように機能を変更しました。

- (void)updateUI
{
 for(UIView *subview in [myScrollView subviews]) 
 {
  [myScrollView bringSubviewToFront:subview];   
 } 
}
于 2010-01-14T07:06:18.827 に答える
0

多分あなたも呼び出す必要がありますsetNeedsLayoutand/or layoutIfNeeded?

于 2010-01-13T16:40:12.237 に答える
0

次のようなものを試してくださいperformSelectorOnMainThread:withObject:waitUntilDone:

于 2010-01-13T23:49:51.777 に答える