ios - Its possible to change font of UILabel from other ViewController class -


i have viewcontroller consist of uilabel , uibutton. onclick uibutton popover present show tableview. each cell of tableview represent different font option.

i want change font of uilabel based on user selected font tableviewcell. how can achieve uilabel , tableview in different viewcontroller class.

please me.

func tableview(tableview: uitableview, didselectrowatindexpath indexpath: nsindexpath) {    var row = indexpath.row    // how update label here } 

edit : fond answer not able understand return in objective c update viewcontroller label text different view

you can use delegate. in popover swift file create such protocol:

protocol popoverdelegate {     func didselectfont(font: uifont) } 

in popover class create such implementation of newly created protocol:

class popoverviewcontroller : uitableviewcontroller {     var delegate: popoverdelegate?      func tableview(tableview: uitableview, didselectrowatindexpath indexpath: nsindexpath) {        var row = indexpath.row        // how update label here        delegate.didselectfont(youfonthere)     } } 

now in main view controller, if presenting popover programmatically, should set popover's delegate property self. if presenting popover storyboard, handle segue:

override func prepareforsegue(segue: uistoryboardsegue, sender: anyobject?) {     // new view controller using [segue destinationviewcontroller].     // pass selected object new view controller.     let destination = segue.destinationviewcontroller as! popoverviewcontroller     destination.delegate = self } 

now implement delegate method:

func didselectfont(font: uifont) {     //update label's font } 

and of course don't forget add delegate main view controller:

class mainviewcontroller: uiviewcontroller, popoverdelegate { ... 

hope helps!


Comments

Popular posts from this blog

c# - Validate object ID from GET to POST -

node.js - Custom Model Validator SailsJS -

php - Find a regex to take part of Email -