iOS

UITableViewの並べ替えUIが出ない場合はココをチェック

UIKitのUITableViewの並べ替えボタン、右端にでる「三」みたいなのね、が毎回でなくてウンウン悩むので、原因をここに残しておきます。

 

まず、編集モードをONにしないとでません。

tableView.isEditing = true

 

次に、canMoveRowAt、でtrueを返さないとでません。

func tableView(_ tableView: UITableView, canMoveRowAt indexPath: IndexPath) -> Bool {
  return true
}

 

最後に、並べ替えた後データを操作するmoveRowAtを書いてしておかないとでません。

func tableView(_ tableView: UITableView, moveRowAt sourceIndexPath: IndexPath, to destinationIndexPath: IndexPath) {
  // データの入れ替え処理を書く
}

 

開発の初期に仮で入れ替えのUIを表示したいなぁと思ってcanMoveRowAtでtrueを返しただけだとアレ??となりがちなので気を付けてください。