how to change height cell in uitableview without reload data

You're looking for the reloadRowsAtIndexPaths: method on the UITableView. It will trigger the recalculation of height (and subsequent redraw) of specific cells. It can even animate the adjustment so that you can do the update in real-time as the user is scrolling, such that the table view does not "jerk around" or "stutter step" while the heights are recalculated. I just implemented it successfully to do what you described.

Source: Update UITableViewCell without reload


You can call beginUpdates && endUpdates, These will causes table cell heights to be recaluclated, without reloading the entire cell

           UIView.setAnimationsEnabled(false)

            self.tableView.beginUpdates()
            self.tableView.endUpdates()
            // Re-enable animations
            UIView.setAnimationsEnabled(true)