ios - adjustsFontSizeToFitWidth not working when change constraints? -
i have costview holds uilabel dollarsign , uilabel cost. this how dollarsign being constrained. this how cost being constrained.
in addviewcontroller changed of constraints, including height of costview
class addviewcontroller: uiviewcontroller { @iboutlet weak var costview: uiview! @iboutlet weak var statusbarheight: nslayoutconstraint! @iboutlet weak var navigationbar: uinavigationbar! @iboutlet weak var dollarsign: uilabel! @iboutlet weak var cost: uilabel! @iboutlet weak var keyboardheight: nslayoutconstraint! @iboutlet weak var costviewheight: nslayoutconstraint! override func viewdidload() { super.viewdidload() //set size of cost view & numbers keyboard let halfviewheight = (view.bounds.height - statusbarheight.constant - navigationbar.bounds.height)/2 costviewheight.constant = halfviewheight/cgfloat(4) keyboardheight.constant = halfviewheight - costviewheight.constant //adjust font size of dollar sign & cost cost.adjustsfontsizetofitwidth = true print("cost frame: \(cost.frame)") dollarsign.adjustsfontsizetofitwidth = true print("dollar sign frame: \(dollarsign.frame)") } } when load app, constraints costviewheight & keyboardheight update , rearrange accordingly. however, font size of labels dollarsign , cost not adjust themselves, as can see here.
after adding 2 lines in here:
//adjust font size of dollar sign & cost cost.adjustsfontsizetofitwidth = true cost.backgroundcolor = uicolor.redcolor() //add line print("cost frame: \(cost.frame)") dollarsign.adjustsfontsizetofitwidth = true dollarsign.backgroundcolor = uicolor.redcolor() //add line print("dollar sign frame: \(dollarsign.frame)") you can see frame of cost , dollarsign readjust fit in new constraints.
question: since used .adjustsfontsizetofitwidth = true, why isn't font size changing after change height? .adjustfontsizetofitwidth work when change width? if so, how can make .adjustfontsizetofitheight method?
a strange thing noticed may or not relevant when printed out cost , dollarsign frames same frames listed on storyboard (cost frame , dollarsign frame).
cost frame: (567.0, 7.5, 14.5, 34.0) dollar sign frame: (8.0, 8.0, 15.0, 34.0) this strange b/c since changed height of costview frames of cost , dollarsign should change(which do). if cost , dollarsign frame changes why don't numbers change?
Comments
Post a Comment