在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
效果显示数下图: 1、初始化 pickerView.center = self.view.center //将dataSource设置成自己 pickerView.dataSource=self //将delegate设置成自己 pickerView.delegate=self //设置选择框的默认值 pickerView.selectRow(2,inComponent:0,animated:true) pickerView.selectRow(4,inComponent:1,animated:true) pickerView.selectRow(5,inComponent:2,animated:true) self.view.addSubview(pickerView) 2、代理方法的实现 func numberOfComponents(in pickerView: UIPickerView) -> Int { return 3 } func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int { return 9 }
//设置选择框个选项的内容 3、触摸按钮时,获得被选中的索引 func btnClick() { let strs = String(pickerView.selectedRowInComponent(0)) + "_" + String(pickerView.selectedRowInComponent(1)) + "_" + String(pickerView.selectedRowInComponent(2)) let alertControllers = UIAlertController(title: "系统提示",message: strs,preferredStyle: .alert) let cancelActions = UIAlertAction(title: "取消",style: .cancel,handler: nil) let okActions = UIAlertAction(title: "确定",style: .default,handler: nil) alertControllers.addAction(cancelActions) alertControllers.addAction(okActions) self.present(alertControllers, animated: true, completion: nil) } 4、调整选择框的尺寸 func pickerView(pickerView: UIPickerView, widthForComponent component: Int) -> CGFloat { if 0 == component { //第一列变宽 return 100 }else { //第二、三列变宽 return 50 } }
5、设置行高 func pickerView(_ pickerView: UIPickerView, rowHeightForComponent component: Int) -> CGFloat {
6、检测响应选项的选择状态 func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) { //将在滑动停止后触发,并打印出选中列和行索引 print(component) print(row) } 7,将图片作为选择框选项 //将图片作为选择框选项 //选择框选择的内容,除了可以是字符串类型的,还可以是任意UIView类型的元素,比如我们将选项内容设置为图片: func pickerView(_ pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int, reusing view: UIView?) -> UIView {
点击按钮,显示被选中的行数,效果图如下:
|
请发表评论