2016-12-21 16 views
1

enter image description hereのUITableView sectionForSectionIndexTitleは3

迅速に呼び出されることはありません。私は連絡先アプリのようにサイドインデックスのセクションを表示するアプリで作業しています。私は私のアプリ

func tableView(_ tableView: UITableView, sectionForSectionIndexTitle title: String, at index: Int) -> Int{ 
    print(sections.index(of:title)!) 
    return sections.index(of:title)! 
} 

にこのコードを使用している。しかし、このメソッドが呼び出されることはありません飽きない、そしてテーブルビューは、サイド・インデックス・セクションを示していません。私はスイフト3を使用しています。

私は現在、国リストがそこにあるテーブルビューを持っています。セクションインデックス(A..Z)の選択で特定のセクションにフォーカスしたいと思っています。上記のコードを実装しましたが、セクションインデックスは表示されません。

+0

あなたはここに完全なコードを見ることができます。探しているこの機能はデフォルトになります。 –

+0

私は試してみましょう、ありがとう –

+0

それが動作するかどうか教えてください。それがあれば私は答えとしてそれを掲示するでしょう。 –

答えて

1

長い研究の後、私は愚かな間違いをしていました。選択したセクションにフォーカスするには、このコードで選択したセクションでtableViewをスクロールする必要があります。私は主従テンプレートで始まる示唆するhttps://github.com/ipraba/EPContactsPicker/blob/master/Pods/EPContactsPicker.swift

override open func tableView(_ tableView: UITableView, sectionForSectionIndexTitle title: String, at index: Int) -> Int { 
      // if resultSearchController.isActive { return 0 } 
      tableView.scrollToRow(at: IndexPath(row: 0, section: index), at: UITableViewScrollPosition.top , animated: false) 
      return sections.index(of: title)! 
     } 
関連する問題