Friday, 15 March 2013

ios - UIPickerView didSelectRow not called -



ios - UIPickerView didSelectRow not called -

(swift, xcode6, ios8, iphone)

in uipickerview control, didselectrow not beingness called.

yes, have set splash delegate (and datasource) picker. splash extends uiviewcontroller class all other functions work. no errors, picker spins, has 5 rows, , displays row number defined in other functions.

when didselectrow method called? need implement done button of kind, or method fire when user stops spinning? need implement separate notification? tyvm :)

class splash: uiviewcontroller, uipickerviewdatasource, uipickerviewdelegate { @iboutlet var countrypicker : uipickerview = nil func numberofcomponentsinpickerview(pickerview: uipickerview!) -> int { homecoming 1 } func pickerview(pickerview: uipickerview!, numberofrowsincomponent component: int) -> int { homecoming 5 } func pickerview(pickerview: uipickerview!, titleforrow row: int, forcomponent component: int) -> string { homecoming "\(row)" } func pickerview(pickerview: uipickerview!, didselectrow row: int, forcomponent component: int) -> int { println("row: \(row)") homecoming row } override func viewdidload() { super.viewdidload() // additional setup after loading view, typically nib. } override func didreceivememorywarning() { super.didreceivememorywarning() // dispose of resources can recreated. } }

you have wrong signature, pickerview:didselectrow:forcomponent: returns void, not integer. try:

func pickerview(pickerview: uipickerview!, didselectrow row: int, forcomponent component: int) { println("row: \(row)") }

ios xcode delegates swift uipickerview

No comments:

Post a Comment