LINE のようなメッセージアプリのように下から新しい順に並べたいと思ったのでやり方を調べてみました。
UITableView をそのまま表示する
まず UITableView にそのまま表示をしてみました。上から順に新しいものが並んでいます。
UITableView を反転する
これに trasnform プロパティを使って上下反転させます。
override func viewDidLoad() {
super.viewDidLoad()
...
tableView.transform = CGAffineTransformMake(1, 0, 0, -1, 0, 0)
...
}
下から順に新しいものが並ぶようになりました。各セルも反転しちゃってますが・・
UITableViewCell を反転する
さらに各セルも反転させて元に戻します。
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell{
let cell = tableView.dequeueReusableCellWithIdentifier(..
...
cell.transform = CGAffineTransformMake(1, 0, 0, -1, 0, 0)
...
return cell
}
これで下から順に新しいものが並ぶようになりました。
注意
セルのデータソースの配列の変数には新しい順にデータが入っている(index 0 のデータが最新)ので、データを追加するときには append ではなく insert を使うようにします。