私は3つのセクションを持つUITableViewを持っています。それぞれには、viewForFooterInSectionを使用して追加したフッターがあります。私が抱えている問題は、テーブルビューを下にスクロールすると、フッターが画面の一番下に張り付いて残りのセルのようにスクロールしないということです。誰もがそれを作る方法を知っているので、フッターはほとんどセルのように動作し、テーブルの残りの部分とともにスクロールしますか?ありがとう!iOS - viewForFooterInSectionはUITableViewの下部に固執します
答えて
私は実際にそれを理解しました。おそらくそれを行う最もスマートな方法はありませんが、私はUITableViewスタイルをグループに変更し、それを修正しました。私はTableViewをちょっと微調整しなければならなかったので、セルはグループ化されていない(クリアな背景、セパレータなし)ように見えるが、うまくいきました。フッターは、もはやTableViewの下部に固執しません。
スクロールビューの最後のセルとしてフッターをセルの1つに設定した場合(これは可能ですが、uitableを設定した配列の最後の項目として設定します)
フッターが貼られています。トリックは、各セクションに余分なセルを追加し、そこにフッターをレンダリングすることです。さらにヘルプが必要な場合は、コメントを追加してください。ただし、それはかなり簡単です。
EDITS:
Q:よし。私はCoreViewとNSFetchedResultsControllerを使ってTableViewを生成しています。これを達成するのはもっと難しいでしょうか?
A:全くありません。各セクション内の余分なセルを追加し、そのセクションのためのあなたのfetchedResultsControllerの行よりも
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
テスト> indexPath.row場合にするには
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
をオーバーライドします。真の場合は、セルにフッター情報を追加します。
いいえ。私はCoreViewとNSFetchedResultsControllerを使ってTableViewを生成しています。これを達成するのはもっと難しいでしょうか? – mhbdr
全くありません。オーバーライド - (NSInteger)のtableView:(のUITableView *)のtableView numberOfRowsInSection:(NSInteger)各セクション内の余分なセルを追加するにはセクション 、および - (UITableViewCellの*)のtableView:(のUITableView *)のtableView cellForRowAtIndexPath:(NSIndexPath *)indexPath indexPath.row>が、そのセクションのfetchedresultsコントローラの行よりもテストされているかどうかをテストします。真の場合は、セルにフッター情報を追加します。 –
余分なセルを追加し、それを不可視にしてビューをレンダリングすることは、フッターを追加することをお勧めしません。それを正しく行うと、かなりストレートフォワードです:
- (UIView*)tableView:(UITableView*)tableView viewForFooterInSection:(NSInteger)section {
NSString* sectionFooter = [self tableView:tableView titleForFooterInSection:section];
UIView* view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, yourWidth, yourHeight)]; //create a view- the width should usually be the width of the screen
UILabel* label = [[UILabel alloc] initWithFrame:someFrame];
label.backgroundColor = [UIColor blueColor];
label.textColor = [UIColor whiteColor];
label.text = sectionFooter;
[view addSubview:label];
return view;
}
またにtableViewを実装する必要があります:titleForFooterInSectionを:あなたは、私がここに持っているようにテキストを追加したい場合。
あなたの答えはフッターを追加するのに有効ですが、フッターはテーブルビューの一番下に貼り付けられます。 – rsc
私のコードが風景モードでは機能せず、ポートレートモードでしか動作しないことが判明したときも同様の問題がありました。私の古いコードでは、ランドスケープでは、テーブルビューは表示可能なビューよりもスクロールできず、スクロール(上の行が表示されないようにする)のときに一番上の行に戻ってきました。私が変更しなければならないのは、高さがデフォルトのセルの高さとして44に設定されていることを確認することだけです。だから私のフッタは、基本的にclearColorを持つ別のセルです。私のアプリは「AutoLayout」を使用しています。
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section
{
CGRect screenBounds = [UIScreen mainScreen].bounds;
CGFloat width = screenBounds.size.width;
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, width, 44)];
view.backgroundColor = [UIColor clearColor];
UILabel *label = [[UILabel alloc] initWithFrame:view.frame];
label.text = @"Your Text";
[view addSubview:label];
return view;
}
- 1. 私がスクロールした場合、ページ下部に固執しない
- 2. CSSを使用してレイアウトの下部に固執する方法は?
- 3. フッターdivはページの一番下に固執しません
- 4. iOSのUITableViewの下部にセルを追加します
- 5. UITableView reloadSectionsはviewForFooterInSectionをトリガーしませんか?
- 6. ダイナミックプログラミングに固執
- 7. viewForFooterInSectionが画面の下部に表示されない
- 8. Gerritのインストールに固執しました
- 9. アプリケーションがダウンロードに固執しました
- 10. iOS objective-cのキーボードに固執するカスタムUIView
- 11. HTMLフッターが印刷プレビューで下部に固執するように見えたしません
- 12. Pythonオープンファイルメソッドに固執する
- 13. カーソルの作成に固執
- 14. 「ユニークキー」の警告に固執
- 15. 私のウェブサイトはIE8、IE9の右に固執しました
- 16. 私はこのコードに固執しています
- 17. 私はPHPの配列()に固執していますか?
- 18. はスプライトの動きに固執しました
- 19. iOSのリロード固有のUITableViewセル
- 20. UITableViewは下にスクロールしません(Swift IOS)
- 21. iOS - 下のセルにテキストフィールドがあるUITableView
- 22. 私はisVowelとprintAllメソッドに固執しています
- 23. PowerApps - UpdateContextに固執しよう
- 24. Androidスタジオが「APKのインストール」に固執しています
- 25. MKAnnotationviewはMKPolylineオーバーレイルートに固執しません
- 26. タイマーまたはコードがスケジュールに固執しない
- 27. グリッド下部の固定行
- 28. ジレンマをテストするユニットに固執しました
- 29. 私のコンテナまたは行はページコンテンツの真ん中にあり、フッターウィジェットのようにページの下部に固執しません
- 30. ミニプロセッサのFSMがブランチ・イコール・ループに固執しました
ありがとうございました... また、セクションの高さを追加する必要があります。それ以外はうまくいきます.. –
「グループ化」されたUITableViewスタイルで表示されるセクションヘッダーを非表示にするには、https://stackoverflow.com/questions/を参照してください。 19056428/how-to-hide-first-section-header-in-uitableview-grouped-style –