0

にカスタムをUITableView統合し、より多くの要素を追加して、Twitterアプリのようにコンテンツを更新するためのコントロールをViewController追加しようとしました。UITableView問題は、ViewControllerでテーブルビューのスクロールをキャプチャできないことです。delegateカスタムのを設定するとUITableView、スクロールをキャプチャできますが、カスタムテーブルの動作に問題が発生します。したがって、何もオーバーライドせずにスクロールのデリゲートを追加する方法を見つけるか、UITableViewクラスからではなくViewControllerからテーブルを更新するためのコントロールを追加する方法を見つけるのが良いかわかりません。

詳細のケースは次のとおりです。

  • カスタムUITableViewのライブラリ。メッセージアプリのような会話を描くために使用されます。したがって、情報をテーブルに渡すだけで、テーブルがそれを描画します。私はこれ以上何もしません。委任も何もしません。ViewControllerにテーブルを追加するだけです。

  • スクロールのデリゲートのメソッドをViewControllerに配置しましたが、テーブルをスクロールしても何も取得されません(アプリはスクロールのデリゲートメソッドに入力されません)。テーブルのデリゲートをselfに設定すると、スクロールは機能しますが、テーブルからランダムな問題が発生するため(テーブルの作成方法がわかりません)、このオプションを破棄する必要があります(デリゲートを設定します)。

前もって感謝します

4

1 に答える 1

1

UIRefreshControl オブジェクトを使用してみてください。viewDidLoad メソッドの viewController でこのオブジェクトを定義し、値が変更されたときにターゲットを tableView に追加します。以下に例を示します。

self.refreshControl = [[UIRefreshControl alloc] init];
[self.refreshControl addTarget:self.tableView action:@selector(reloadData) forControlEvents:UIControlEventValueChanged];

ただし、viewController は UITableViewController である必要があります。リフレッシュを開始および終了するには、次のメソッドを使用します。

[self.refreshControl beginRefreshing];
[self.refreshControl endRefreshing];
于 2012-12-11T09:33:17.673 に答える