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!

picture of uipicker(no toolbar shows up)

assign toolbar textfield in textfieldshouldbeginediting rather on ibaction. preferencetextclick(_: uitextfield) gets called later , hence, doesn't load toolbar.


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 -