xcode - Create a done button for UIPickerView -
i trying create done button uipickerview.
i believe have added in code done button show done button not show in simulator.
here code:
import uikit class viewcontroller: uiviewcontroller, uipickerviewdelegate, uitextfielddelegate, uipickerviewdatasource { @iboutlet weak var gendertextfield: uitextfield! @iboutlet weak var getgender: uipickerview! @iboutlet weak var preferencetextfield: uitextfield! @iboutlet weak var getpreference: uipickerview! let gender = ["", "male", "female"] let preference = ["", "male", "female", "both"] override func viewdidload() { super.viewdidload() var thewidth = view.frame.size.width var elwidth = thewidth - 50 // adds title text field top var titlelabel: uilabel = uilabel() titlelabel.frame = cgrectmake(25, 40, elwidth, 40) titlelabel.textcolor = uicolor(red: 1.0, green: (203.0/255.0), blue: (38.0/255.0), alpha: 1.0) titlelabel.font = uifont(name: "apple sd gothic neo", size: 28.0) titlelabel.textalignment = nstextalignment.center titlelabel.text = "set profile" self.view.addsubview(titlelabel) getgender.hidden = true; gendertextfield.placeholder = "gender" gendertextfield.delegate = self getgender.delegate = self getgender.frame = cgrectmake(0,view.frame.size.height-216, view.frame.size.width, 216) getpreference.hidden = true; preferencetextfield.placeholder = "gender preference" preferencetextfield.delegate = self getpreference.delegate = self getpreference.frame = cgrectmake(0,view.frame.size.height-216, view.frame.size.width, 216) var toolbar = uitoolbar() toolbar.barstyle = uibarstyle.default toolbar.translucent = true toolbar.tintcolor = uicolor(red: 76/255, green: 217/255, blue: 100/255, alpha: 1) toolbar.sizetofit() var donebutton = uibarbuttonitem(title: "done", style: uibarbuttonitemstyle.plain, target: self, action: "donepicker") var spacebutton = uibarbuttonitem(barbuttonsystemitem: uibarbuttonsystemitem.flexiblespace, target: nil, action: nil) var cancelbutton = uibarbuttonitem(title: "cancel", style: uibarbuttonitemstyle.plain, target: self, action: "canclepicker") toolbar.setitems([cancelbutton, spacebutton, donebutton], animated: false) toolbar.userinteractionenabled = true gendertextfield.inputview = getgender gendertextfield.inputaccessoryview = toolbar preferencetextfield.inputview = getpreference preferencetextfield.inputaccessoryview = toolbar } @ibaction func gendertextclick(sender: uitextfield) { getgender.showsselectionindicator = true // create toolbar var toolbar = uitoolbar() toolbar.barstyle = uibarstyle.default toolbar.translucent = true toolbar.tintcolor = uicolor(red: 76/255, green: 217/255, blue: 100/255, alpha: 1) toolbar.sizetofit() // create buttons var donebutton = uibarbuttonitem(title: "done", style: uibarbuttonitemstyle.plain, target: self, action: "donegenderpicker") var spacebutton = uibarbuttonitem(barbuttonsystemitem: uibarbuttonsystemitem.flexiblespace, target: nil, action: nil) var cancelbutton = uibarbuttonitem(title: "cancel", style: uibarbuttonitemstyle.plain, target: self, action: "cancelgenderpicker") // assign buttons toolbar toolbar.setitems([cancelbutton, spacebutton, donebutton], animated: false) toolbar.userinteractionenabled = true // add pickerview , toolbar textfield gendertextfield.inputview = getgender gendertextfield.inputaccessoryview = toolbar sender.inputview = getgender } @ibaction func preferencetextclick(sender: uitextfield) { getpreference.showsselectionindicator = true // create toolbar var toolbar = uitoolbar() toolbar.barstyle = uibarstyle.default toolbar.translucent = true toolbar.tintcolor = uicolor(red: 76/255, green: 217/255, blue: 100/255, alpha: 1) toolbar.sizetofit() // create buttons var donebutton = uibarbuttonitem(title: "done", style: uibarbuttonitemstyle.plain, target: self, action: "donepreferencepicker") var spacebutton = uibarbuttonitem(barbuttonsystemitem: uibarbuttonsystemitem.flexiblespace, target: nil, action: nil) var cancelbutton = uibarbuttonitem(title: "cancel", style: uibarbuttonitemstyle.plain, target: self, action: "cancelpreferencepicker") // assign buttons toolbar toolbar.setitems([cancelbutton, spacebutton, donebutton], animated: false) toolbar.userinteractionenabled = true // add pickerview , toolbar textfield preferencetextfield.inputview = getpreference preferencetextfield.inputaccessoryview = toolbar sender.inputview = getpreference } func numberofcomponentsinpickerview(pickerview: uipickerview) -> int{ return 1 } func pickerview(pickerview: uipickerview, numberofrowsincomponent component: int) -> int { getgender.tag = 0 getpreference.tag = 1 if pickerview.tag == 0 { return gender.count } else if pickerview.tag == 1 { return preference.count } return 1 } func pickerview(pickerview: uipickerview, titleforrow row: int, forcomponent component: int) -> string! { getgender.tag = 0 getpreference.tag = 1 if pickerview.tag == 0 { return gender[row] } else if pickerview.tag == 1 { return preference[row] } return "" } func pickerview(pickerview: uipickerview, didselectrow row: int, incomponent component: int) { getgender.tag = 0 getpreference.tag = 1 if pickerview.tag == 0 { gendertextfield.text = gender[row] // getgender.hidden = true } else if pickerview.tag == 1 { preferencetextfield.text = preference[row] // getpreference.hidden = true } } func textfieldshouldbeginediting(textfield: uitextfield) -> bool { if (textfield == self.gendertextfield) { getgender.hidden = false } else if (textfield == self.preferencetextfield) { getpreference.hidden = false } return false } func donegenderpicker() { gendertextfield.resignfirstresponder() } func cancelgenderpicker() { gendertextfield.resignfirstresponder() } func donepreferencepicker() { preferencetextfield.resignfirstresponder() } func cancelpreferencepicker() { preferencetextfield.resignfirstresponder() } // override func touchesbegan(touches: set<nsobject>, withevent event: uievent) { // // getgender.hidden = true // getpreference.hidden = true // } override func didreceivememorywarning() { super.didreceivememorywarning() // dispose of resources can recreated. } }
so much!
assign toolbar textfield in textfieldshouldbeginediting rather on ibaction. preferencetextclick(_: uitextfield) gets called later , hence, doesn't load toolbar.
Comments
Post a Comment