何がやりたいこと(チュートリアルhereを見つけることができます)ユーザーインターフェースのはかなり珍しいタイプですが、あなたが本当にこれを実行したい場合は、次の操作を実行できます。
あなたtableViewController
で 、インデックスを作成しますアレイ、例えばあなたはtableView
の横に表示させたいのアルファベット文字、例えば配列:
- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView {
NSARRAY *characters = @[@" ", "A", @"B", @"C", @"D", @"E", @"F", @"G", @"H", @"I", @"J", @"K", @"L", @"M", @"N", @"O", @"P", @"Q", @"R", @"S", @"T", @"U", @"V", @"W", @"X", @"Y", @"Z"];
return characters;
}
docsによると:「テーブルビュー内のセクションのタイトルとして使用する文字列の配列とテーブルビューの右側にあるインデックスリストに表示されます。テーブルビューはプレーンスタイル(UITableViewStylePlain
)でなければなりません。たとえば、アルファベット順のリストの場合、文字列 "A"から "Z"を含む配列を返すことができます。 "
tableView
のセクションにデータを並べ替える方法は完全にあなた次第です。あなたのケースでは、おそらく特別なヘッダーなしで、すべての時間を1つのセクションにソートする必要があります。したがって、あなたの配列がcharacters
インデックス0のヘッダ@" "
で始まり、あなたの時間のすべてを置くには、次のメソッドを実装し、その後、セクション0 のエントリをソート:
- (NSInteger)tableView:(UITableView *)tableView
sectionForSectionIndexTitle:(NSString *)title
atIndex:(NSInteger)tappedIndex {
self.savedTappedIndex = tappedIndex;
return 0;
}
をこの方法では、少し混乱を招くことがあります。 tableView
(@" " … @"Z"
)の配列のある文字をユーザがタップすると、配列内のこの文字の位置(インデックス)がこのメソッドに入力されます。それをプロパティに格納することができます。この例のように0を返すと、テーブルのセクション0はそのまま再表示されます。
プロパティsavedTappedIndex
のキー値監視(KVO)を実行すると、テーブルが再表示されたときに通知が表示されます。あなたはこの文字で
NSString *tappedCharacter = characters[self.savedTappedIndex];
でタップの文字を読むことができます、あなたは名前がこの文字で始まるユーザーによって作成された飼料用のサーバーを問うことができます。
tableView
のセクション0にデータを表示することができます。
もちろん、tableView
の横にインデックスを表示しないでください。
これは非常に珍しいので、この動作はユーザーにとって非常に混乱する可能性があります。
最後の注意:
あなたが実際の実装のために上ハックを使うべきではありませんが、あなたはあなたのユーザー・インタフェースをテストするためにそれを使用することができ、そしておそらくインデックス以来、ユーザ体験は良いではないことがわかりますいつものように動作が異なります。
"UITableViewセクションインデックス"を検索する必要があります。あなたが話しているインデックスは、iOSの一部であり、かなり簡単に実装することができます。 Stack Overflowで数回答えられました。 – Fogmeister
あなたの方法を使用することで、私は通常ビューをアルファベット順に並べ替える必要があると思っています。スクロールするだけで各セクションにすばやくジャンプできます。私の質問は日時順のリストについてですが、スクロールするときはアルファベット順に並べ替えます。 – user1314404
ああそうです。それを行うことでiOSの基本的な動作を破っていることに心配していませんか?ユーザーが画面の右側にアルファベット順のリストを表示すると、8年以上の経験によって、リストをすばやくスクロールできます。それをあなたが提案している方法で変更することによって、あなたのアプリは壊れているように見え、ユーザーはそれを使用しないようにすることができます。 – Fogmeister