i have created navigation menu 4 item, want link every item view controller, how can this?
i have used tutorial: how create navigation panel
centerviewcontrollerdelegate:
@objc protocol centerviewcontrollerdelegate { optional func toggleleftpanel() optional func collapsesidepanels() } class centerviewcontroller: uiviewcontroller { @iboutlet weak private var imageview: uiimageview! @iboutlet weak private var titlelabel: uilabel! @iboutlet weak private var creatorlabel: uilabel! var delegate: centerviewcontrollerdelegate? // mark: button actions @ibaction func kittiestapped(sender: anyobject) { delegate?.toggleleftpanel?() } } extension centerviewcontroller: sidepanelviewcontrollerdelegate { func itemmenuselected(itemmenu: menu) { imageview.image = itemmenu.image titlelabel.text = itemmenu.title creatorlabel.text = itemmenu.creator delegate?.collapsesidepanels?() } } sidepanelviewcontrollerdelegate:
@objc protocol sidepanelviewcontrollerdelegate { func itemmenuselected(itemmenu: menu) } class sidepanelviewcontroller: uiviewcontroller { @iboutlet weak var tableview: uitableview! var delegate: sidepanelviewcontrollerdelegate? var itemmenus: array<menu>! struct tableview { struct cellidentifiers { static let menucell = "menucell" } } func uicolorfromrgb(rgbvalue: uint) -> uicolor { return uicolor( red: cgfloat((rgbvalue & 0xff0000) >> 16) / 255.0, green: cgfloat((rgbvalue & 0x00ff00) >> 8) / 255.0, blue: cgfloat(rgbvalue & 0x0000ff) / 255.0, alpha: cgfloat(1.0) ) } override func viewdidload() { super.viewdidload() var tblview = uiview(frame: cgrectzero) tableview.tablefooterview = tblview tableview.tablefooterview!.hidden = true tableview.backgroundcolor = uicolorfromrgb(0xe2f2c9) tableview.reloaddata() } } // mark: table view data source extension sidepanelviewcontroller: uitableviewdatasource { func numberofsectionsintableview(tableview: uitableview) -> int { return 1 } func tableview(tableview: uitableview, numberofrowsinsection section: int) -> int { return itemmenus.count } func tableview(tableview: uitableview, cellforrowatindexpath indexpath: nsindexpath) -> uitableviewcell { let cell = tableview.dequeuereusablecellwithidentifier(tableview.cellidentifiers.menucell, forindexpath: indexpath) as! menucell cell.configureformenu(itemmenus[indexpath.row]) return cell } } // mark: table view delegate extension sidepanelviewcontroller: uitableviewdelegate { func tableview(tableview: uitableview, didselectrowatindexpath indexpath: nsindexpath) { let selectedmenu = itemmenus[indexpath.row] delegate?.itemmenuselected(selectedmenu) } } class menucell: uitableviewcell { @iboutlet weak var itemmenuimageview: uiimageview! @iboutlet weak var imagenamelabel: uilabel! @iboutlet weak var imagecreatorlabel: uilabel! func configureformenu(itemmenu: menu) { itemmenuimageview.image = itemmenu.image imagenamelabel.text = itemmenu.title imagecreatorlabel.text = itemmenu.creator } }
Comments
Post a Comment