Swift UIPickView(选择框)

来源:互联网 发布:js监听手机键盘事件 编辑:程序博客网 时间:2024/04/28 13:58

一、选择框

选择框可以让用户以滑动的方式选择值。选择框的定制跟tableview的定制很类似,都是创建数据源、代理方法。通过一些代理方法去操作选择框。

 // 创建一个选择框 pickView = UIPickerView() pickView.center = self.view.center //设置数据源和代理对象  pickView.dataSource = self  pickView.delegate = self // 设置选择框的默认值pickView.selectRow(1, inComponent: 0, animated: true)pickView.selectRow(1, inComponent: 1, animated: true)pickView.selectRow(1, inComponent: 2, animated: true)self.view.addSubview(pickView)       

注意: pickView用frame和center两个属性设置整个选择框的大小和位置,调整列宽和高度或者行高可以通过代理方法进行设定

一些相关的代理方法和数据源方法

设置列数

func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {        return 3    }

设置行数

func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {        return 9    }

设置选项框的各项内容

func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {  let string = NSString(string: "\(row) -- \(component)")        return string as String    }

设置列宽

func pickerView(pickerView: UIPickerView, widthForComponent component: Int) -> CGFloat {        if 0 == component{            return 10        }else{            return 10        }    }

设置行高

func pickerView(pickerView: UIPickerView, rowHeightForComponent component: Int) -> CGFloat {        return 50    }

选项框的内容

func pickerView(pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int, reusingView view: UIView?) -> UIView {        let image = UIImage(named: "1.png")        let imageview = UIImageView()        imageview.image = image        return imageview    }

检测选择框的选择状态(选择框在滑动停止后触发调用)

func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {        print(component)        print(row)    }
0 0