ios - Resize TableView Height after -
i have uitableview inside regular viewcontroller , i'd adjust tableview's entire height.
i created tableview through storyboard, , i'm loading data api in viewdidload
. set cells in typical tableview method.
override func viewdidload() { self.loadperformers() setuptableview(performerstableview) } func setuptableview(tableview: uitableview) { tableview.datasource = self tableview.delegate = self tableview.estimatedrowheight = 90 tableview.rowheight = uitableviewautomaticdimension } func tableview(tableview: uitableview, cellforrowatindexpath indexpath: nsindexpath) -> uitableviewcell { if tableview == self.performerstableview { let performercell = tableview.dequeuereusablecellwithidentifier("performercell", forindexpath: indexpath) as! performerstableviewcell let performer = self.performersarray[indexpath.row] performercell.performerpic.image = getperformerimage(performer.english_name) performercell.performername.text = performer.english_name + " " + performer.japanese_name cell = performercell } return cell! } func tableview(tableview: uitableview, numberofrowsinsection section: int) -> int { var count:int? tableview.separatorstyle = uitableviewcellseparatorstyle.none tableview.separatorcolor = uicolor.clearcolor() tableview.allowsselection = false if tableview == self.performerstableview { count = self.performersarray.count } return count! }
the problem i'm having tableview stays same height after loading data. below i'm loading 4 items, it's showing 2. tableview height doesn't change.
i've tried few things, among them changing height of tableview frame in viewwillappear
:
override func viewwillappear(animated: bool) { super.viewwillappear(animated) let newheight = self.performerstableview.rowheight * cgfloat(self.numberofperformers) self.performerstableview.frame = cgrectmake(performerstableview.frame.origin.x, performerstableview.frame.origin.y, performerstableview.frame.size.width, newheight) }
this nothing though, i'm misunderstanding in rendering process. how redisplay table desired height?
i have 2 solutions problem:
if want set height of tableview based on tableview cells. first of when data server reload tableview , after reloading tableview content height of filled tableview using code:
self.performerstableview.contentsize.height
then set height tableview frame.
in design, set fix height of tableview , set reference of constraint , after reloading tableview:
self.performerstableviewheightreference.constant = self.performerstableview.contentsize.height
i hope helps you.
Comments
Post a Comment