swift3 - How to reference multiple rows with Swift 3 UIPickerView? -
how display "lamborghini , white" in label?
i'm trying figure out how reference selected rows independently in each column.
import uikit class viewcontroller: uiviewcontroller, uipickerviewdelegate, uipickerviewdatasource { @iboutlet var titlelbl: uilabel! @iboutlet var pickerview: uipickerview! var cars = [["bmw","lamborghini","range rover", "bentley", "maserati", "rolls royce"],["blue","green","white"]] override func viewdidload() { super.viewdidload() // additional setup after loading view, typically nib. pickerview.delegate = self pickerview.datasource = self } func numberofcomponents(in pickerview: uipickerview) -> int { return 2 } func pickerview(_ pickerview: uipickerview, numberofrowsincomponent component: int) -> int { return cars[component].count } func pickerview(_ pickerview: uipickerview, titleforrow row: int, forcomponent component: int) -> string? { return cars[component][row] } func pickerview(_ pickerview: uipickerview, didselectrow row: int, incomponent component: int) { titlelbl.text = "\(cars[0][row]) , \(cars[1][row])" } }
figured out,
import uikit class viewcontroller: uiviewcontroller, uipickerviewdelegate, uipickerviewdatasource { @iboutlet var titlelbl: uilabel! @iboutlet var pickerview: uipickerview! var cars = [["bmw","lamborghini","range rover", "bentley", "maserati", "rolls royce"],["blue","green","white"]] override func viewdidload() { super.viewdidload() // additional setup after loading view, typically nib. pickerview.delegate = self pickerview.datasource = self } func numberofcomponents(in pickerview: uipickerview) -> int { return 2 } func pickerview(_ pickerview: uipickerview, numberofrowsincomponent component: int) -> int { return cars[component].count } func pickerview(_ pickerview: uipickerview, titleforrow row: int, forcomponent component: int) -> string? { return cars[component][row] } func pickerview(_ pickerview: uipickerview, didselectrow row: int, incomponent component: int) { let selectedvalue1 = pickerview.selectedrow(incomponent: 0) let selectedvalue2 = pickerview.selectedrow(incomponent: 1) titlelbl.text = "\(cars[0][selectedvalue1]) , \(cars[1][selectedvalue2])" } }
Comments
Post a Comment