私のアプリケーションには、UITableViewを含む2つのviewControllerがあります。 1つのviewControllerは、アプリケーション内にカスタムフルスクリーンビューとして表示され、もう1つはPopoverビューとして表示されます。彼らのコンテンツを更新するために、両方のtableViewsにUIRefreshControlを追加しました。 refreshControlをドラッグして、tableViewをリフレッシュすると、カスタムのフルスクリーン表示がうまく動作します。ただし、popoverビューのrefreshControlは機能していないようです。 tableViewの内部にドラッグすると、refreshControlのアクティビティインジケータが進みますが、11/12に停止します(下の図を参照)。regfreshアクションは呼び出されません。 (アクションの名前が異なる以外)UIRefreshControlがポップオーバーでUITableViewで動作しない
ポップオーバーのrefreshControlの初期化コードは、作業refreshControlと同一である:私は今、しばらくの間、この問題に苦労したがやっている
- (void) viewDidLoad
{
self.refreshControl = [[UIRefreshControl alloc] init];
self.refreshControl.attributedTitle = [[NSAttributedString alloc] initWithString: @"Refreshing..."];
[self.refreshControl addTarget: self action: @selector(reloadTableData) forControlEvents: UIControlEventValueChanged];
[self.tableView addSubview: self.refreshControl];
}
- (void) reloadTableData
{
// reloading code. This method is not called in the popover view
}
何も解決策を見つけることができません。 popoverビュー内にrefreshControlを配置すると、誤った動作が発生する可能性がありますか?
ご協力いただければ幸いです。 ViewController.m
で
を設定します。私がtableViewをドラッグすると表示されるので、refreshControlの初期化は問題ではないようです。また、同じコードが全画面表示で機能しています。少なくとも、私が考えているのは、Popoverビューの内側に配置されているため、refreshControlの動作が異なるようです。 –