UITableViewの一番上のセクションのタイトルまたはインデックスを取得する最も正確な方法は何ですか?私はインデックス0のセクションを意味するのではなく、スクロール中に上部に固定されているセクションヘッダーを意味します。UITableViewの現在の固定セクションを取得する
答えて
あなたがそうのような画面上部のセクション取得することができます。
NSUInteger sectionNumber = [[tableView indexPathForCell:[[tableView visibleCells] objectAtIndex:0]] section];
をしかし、それは過渡期にあるとき、それは数がする奇妙な取得しますので、この方法は、あなたのために最適ではないかもしれません2つのヘッダー間。あなたが移行中にセクションを知る必要がない限り、あなたはうまくいくはずです。 これはあなたの探していることを望みます。
クラスにUIScrollViewDelegateを実装して、次の機能を実装させてください。 これは、tableviewがスクロールを停止した場合にのみ、セクションを確実に取得します。
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
{
if (!decelerate)
{
// retrieve section here
section = [[[self.tableview visibleCells] objectAtIndex:0] section];
}
}
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
// retrieve section here
section = [[[self.tableview visibleCells] objectAtIndex:0] section];
}
このようにすれば、移行中のセクションが混乱してしまう問題を防ぐことができますか? – Bot
何らかの理由で私のカスタムセルにエラーがスローされます... - [AppointmentCustomCell section]:インスタンス0x89af850に送られたセレクタが認識できません。私がしているのは、あなたが提供した上記のコードでNSLoggingセクションです。 – Bot
これは古いですが、 'self.tableView visibleCells'が' IndexPaths'ではなく 'UITableViewCells'を与えるので、間違っています。 indexPathsを取得したら、indexPaths [0] .sectionを実行できます。 – esh
私が代わりにvisibleCellsの照会で、それがインデックスのパスを次のように依頼する方が良いでしょうと信じています:
NSInteger section = [[[self.tableView indexPathsForVisibleRows] firstObject] section];
あなたはあなたのに応じてUIScrollViewDelegate
のいずれかの方法でこのコードを使用することができますニーズ。
スウィフトバージョン
使用最初(現在の固定)または最後(最後に表示)
if let section:Int = tableView.indexPathsForVisibleRows?.last?.section {
tableView.scrollToRowAtIndexPath(NSIndexPath(forRow: 0, inSection: section), atScrollPosition: UITableViewScrollPosition.None, animated: true)
}
- 1. UITableviewセクションの最後のセルを取得
- 2. エミュレータで現在の固定位置を取得する方法は?
- 3. 最初のセクションのヘッダーが上部に固定されたUITableView
- 4. 現在のfullPage.jsオプション/設定を取得
- 5. UITableViewセクションのボーダーカラーを設定する
- 6. 現在のトピックを取得
- 7. 現在のバッチファイルディレクトリを取得
- 8. 現在のビューを取得
- 9. 現在のブラウザウィンドウセンターを取得
- 10. 現在のスレッドハンドルを取得
- 11. 現在のホームスクリーンイメージを取得
- 12. 特定の形式の現在の日付を取得する
- 13. のUITableViewのセクション
- 14. C#の現在の地域設定を取得するには?
- 15. 特定のタイムゾーンで現在の日付を取得するdjango
- 16. 現在のクラスを取得する
- 17. 現在のタブインデックスを取得するvb.net
- 18. 現在の要素を取得する
- 19. 現在のモジュール名を取得する
- 20. 現在のMigrationIdを取得する
- 21. Angular2 - 現在のURLを取得する
- 22. 現在のユーザーIDを取得する
- 23. 現在のユーザーを取得する
- 24. Python:pywebviewを取得する現在のURL
- 25. javafx - tableviewのサイズを現在のウィンドウサイズに固定する方法
- 26. 現在のOutlook予定を取得する
- 27. 現在のブラウザ設定からダウンロードパスを取得する方法
- 28. navbarの現在のセクションをハイライト表示
- 29. rpmパッケージを現在のカーネルに固定する方法は?
- 30. 固定ヘッダーと固定列でUITableViewを実装する
私は区間番号最新の状態に保つために、これをどのような方法を入れる必要がありますか? – Bot
ユーザーがスクロールするたびにScrollviewdidscrollを更新したい場合は –
Brilliant、ありがとう! – devios1