原本使用iOS 8 之後才有的Self-resizing,tableView可根據所設定的AutoLayout,自動調整Cell的高度:

但是有多個Cell Template的時候,而且每個Cell Template各自的高度不同,

這時候下tableView.reloadData(),會有回彈的問題(原本滑動到某個offset,延遲載入圖片或是文字,然後再tableView.reloadData()

 

解法:

(在切換不同Cell的時候,根據不同的Cell指定不同的Cell高度

 

PS: 若無效可使用另一招

 

    var viewModel: ViewModelType! {

        didSet {

            

            let contentOffset = tableView.contentOffset

            tableView.reloadData()

            tableView.layoutSubviews()

            tableView.contentOffset = contentOffset

        }

    }

(contentOffset在reload前先暫存,reload後更新一下UI,再設定回去)

參考資料:

http://stackoverflow.com/questions/25589540/uitableview-refresh-without-scrolling

arrow
arrow
    全站熱搜

    小賢 發表在 痞客邦 留言(0) 人氣()