3

誰でもビューをリロードする方法を教えてください.私のプログラムでは、タブビューコントローラーが含まれています.タブには「A」という名前のアイテムが1つあります.そして、この「A」アイテムはviewController.Inそのビューコントローラーを指しています、いくつかのデータが表示されており、その中に UIActionSheet が含まれています。アクションシートには削除ボタンが1つあります。この削除ボタンは、特定のデータを削除するためのものです。私の問題は、これらの削除されたデータが表示されないように、そのビューをリロードする必要があることです。ページをリロードする方法を教えてください。以前に次のコードを含めました

[self presentModalViewController:historyView animated:YES];
[historyView setNeedsDisplay];

しかし、いくつかのエラーが表示されています:-

 No visible @interface for viewcontroller declares the selector 'setNeedsDisplay'

解決策を教えてください.. :(

4

1 に答える 1

6

UIViewControllerクラスにはメソッドsetNeedsDisplayがありません。UIViewクラスにはこのメソッドがあります。したがって、次のように書くことができます。

[historyView.view setNeedsDisplay];

ただし、このメソッドはビューをリロードしません。受信者の境界四角形全体を再描画する必要があるとマークするだけです(アップルのドキュメントiOS Developer Libraryから)。その結果、drawRectメソッドが呼び出されます。

問題を解決するには、ビュー コントローラーでinitializeUIのような独自の関数を作成し、ビューが最初に読み込まれたとき ( viewDidLoadメソッドで)、たとえばビューを更新する必要があるときにデータを削除した後に呼び出すことができます。

于 2012-09-13T13:03:08.257 に答える