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. 現在のスレッドハンドルを取得
- 5. 現在のビューを取得
- 6. 現在のバッチファイルディレクトリを取得
- 7. 現在のブラウザウィンドウセンターを取得
- 8. 現在のホームスクリーンイメージを取得
- 9. C#の現在の地域設定を取得するには?
- 10. 現在のクラスを取得する
- 11. 現在のユーザーIDを取得する
- 12. 現在の要素を取得する
- 13. 現在のモジュール名を取得する
- 14. 現在のOutlook予定を取得する
- 15. のUITableViewのセクション
- 16. navbarの現在のセクションをハイライト表示
- 17. 固定ヘッダーと固定列でUITableViewを実装する
- 18. どのようにUItableviewで値のセクションを取得するには?
- 19. MSbuildはソリューションファイルから現在の設定を取得します
- 20. 現在再生中のビデオファイルの現在のフレームを取得する方法は?
- 21. 現在地を取得する方法
- 22. 現在のユーザーの名前を取得
- 23. 現在のマウスの位置を取得
- 24. iOSの現在の温度を取得
- 25. RPMの現在のアーキテクチャを取得
- 26. 現在のアドインユーザーのユーザー名を取得
- 27. 現在のスクリプトタグのparentNodeを取得
- 28. Protovis Sparkbarの現在のカウントを取得
- 29. WinRTの現在のユーザーを取得
- 30. アンドロイドの現在の位置を取得
私は区間番号最新の状態に保つために、これをどのような方法を入れる必要がありますか? – Bot
ユーザーがスクロールするたびにScrollviewdidscrollを更新したい場合は –
Brilliant、ありがとう! – devios1