0

UINavigationController に UITableViewController が埋め込まれています。この tableView は、NSFetchedResultsController のインスタンスです。NavigationController のトップ バーと TableViewController の間にツールバーを追加する必要がありますが、その方法がわかりません (それが可能かどうかもわかりません)。Apple が WWDC アプリで行ったようなことをしたい (ただし、NavigationController に TableViewController が埋め込まれていないことを除く)。NSFetchedResultsController を駆動するには、バーにいくつかのコントロールが必要です。

同様の問題を抱えている人に、TVC の代わりに UITableView を使用するよう提案した人もいますが、NSFetchedResultsController のインスタンスとして TVC が必要です。

これを達成する方法についてのアイデアはありますか? プログラムでそれを行う必要がありますか?もしそうなら、どのように?

ところで、ストーリーボードと ARC を使用して iOS6+ をターゲットにしています。

Apple の WWDC アプリ

4

6 に答える 6

1

UIViewControllerを使用する必要があり、ツールバーとNSFetchedResultsControllerクラスのtableViewインスタンスをストーリーボードに追加する必要があります

于 2013-07-24T04:54:24.400 に答える
0

UITableViewController を使用できます (UIRefreshControl のサポートやキーボード回避などの優れた機能を維持します)。ツールバーをプレーン ビューに埋め込み、それを tableHeaderView に配置するだけです。次に、このスクロール ビュー デリゲート メソッドを実装してロックします。

#pragma mark - UIScrollViewDelegate

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    CGRect rect = self.toolbarContainerView.frame;
    rect.origin.y = MIN(0,scrollView.contentOffset.y + scrollView.contentInset.top);
    self.toolbarContainerView.frame = rect;
}

セクション ヘッダーも使用する場合は、これらのビューを tableHeaderView の背後に送信する必要があることに注意してください。

于 2015-08-15T00:30:52.987 に答える