0

drawRect:呼び出すか、フォアグラウンドに表示されるビューを追加して、フォアグラウンドにメッセージを表示しようとしています。ボタンを押した後にメッセージを表示する必要があります。ボタンが押されたときに呼び出される関数が終了した場合にのみ、メッセージが表示されることに気付きました。

- (IBAction)testBtnPress:(id)sender {
    TestView *testView = [[TestView alloc] initWithFrame:self.view.frame];
    [self.view addSubview:testView];
    // processing to be done while the message is displayed
}

はクラスdrawRect:で呼び出されTestViewます。メッセージ付きの四角形は、実行する処理が終了した後に表示されますが、これは私のアプリケーションでは不便です。処理中にメッセージを表示する方法はありますか (メッセージは「処理中...お待ちください」になります)。ありがとう。

4

2 に答える 2

1

処理は、バックグラウンド スレッドで実行するか、実行ループの次の繰り返しで実行して、UI の変更を処理する時間を確保する必要があります。

次のようなものを使用して、実行ループの次の反復で処理を行うことができます。

TestView *testView = ... ;

[[NSOperationQueue mainQueue] addOperationWithBlock:^{
    // processing to be done while the message is displayed
}];
于 2013-04-22T12:38:07.227 に答える