静的コンテンツを持つUITableViewの特定のセクションで、特定のセルグループの順序を変更しようとしています。ビューが読み込まれる前にこれを実行しようとしていますが、何らかの理由でそれを動作させることができません。Swift 3 - 静的TableViewコントローラの行順序を変更する
私はセル毎に参照アウトレットを作成し、tableView.indexPathに呼び出すことによってtableView.moveRowを呼び出す試みた(ため:CELL1
Iはまた、それぞれにタグを与え、その中で細胞をループ試みましたセクションなし成功して並べ替え
私が試してみました:。
// Moving the row from it's default row
self.tableView.moveRow(at: IndexPath(row: 1, section: 1), to: IndexPath(row: newRow, section: 1))
// Creating a reference outlet called cell1
self.tableView.moveRow(at: self.tableView.indexPath(for: cell1)!, to: IndexPath(row: newRow, section: 1))
// Giving the static cell a reuseidentifier in interface builder
self.tableView.dequeueReusableCell(withIdentifier: "Cell1", for: IndexPath(row: self.subwayOrder+1, section: 1))
ビューロードが行われる前にそれをやろうとしているので、ViewDidLoadメソッドでこれを実行してください。ビューのコントローラがビュー階層をメモリにロードした後、このメソッドが呼び出されます。 https://developer.apple.com/reference/uikit/uiviewcontroller/1621495-viewdidload。ビューがメモリにないため、上記のコードは機能しません。 – iAviator
私はviewDidLoad()でこれをやっていますが、どれもうまくいかないようです。 –
これは 'func tableView(tableView:UITableView !, canMoveRowAtIndexPath indexPath:NSIndexPath!) - > Bool'で実装されています。メソッド 'func tableView(tableView:UITableView !, moveRowAtIndexPath sourceIndexPath:NSIndexPath !, toIndexPath destinationIndexPath:NSIndexPath!)'を呼び出します。また、これをチェックしてくださいhttp://stackoverflow.com/questions/24772457/swift-reorder-uitableview-cells – iAviator