美文网首页
iOS开发 swift -- UIPickerView的使用

iOS开发 swift -- UIPickerView的使用

作者: Hayley__ | 来源:发表于2017-04-25 18:28 被阅读877次

    一 UIPickerView是一种选择控制器

    1 它继承与UIView 需要遵从 UIPickerViewDelegate,UIPickerViewDataSource 俩个代理
    2 创建pickerView

        func loadSite()  {
            pickerView = UIPickerView()
            view.addSubview(pickerView)
            
            // 设置代理和数据源
            pickerView.delegate = self
            pickerView.dataSource = self
            
            // 设置选择框的默认值
            pickerView.selectRow(2, inComponent: 0, animated: true)
            pickerView.selectRow(3, inComponent: 1, animated: true)
            
            // 约束 根据自己的情况适配
            pickerView.snp.makeConstraints { (make) in
                make.bottom.left.right.equalTo(view)
                make.height.equalTo(150)
            }
        }
    
        // MARK: Picker Delegate 实现代理方法
        func numberOfComponents(in pickerView: UIPickerView) -> Int {
            //返回多少列
            return 2
        }
        func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
            //返回每一列有多少行
            if 0 == component {
                return areaArray.count
            }else {
                return cityArray.count
            }
        }
        
        func pickerView(_ pickerView: UIPickerView, rowHeightForComponent component: Int) -> CGFloat {
            //每行多高
            return 40
        }
        func pickerView(_ pickerView: UIPickerView, widthForComponent component: Int) -> CGFloat {
            // 每列多宽
            return 100
        }
    
        func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
            //赋值
            if 0 == component {
                let dic = areaArray[row] as! Dictionary<String,AnyObject> as! NSMutableDictionary
                return (dic["state"] as? String)
            }else {
                let area = cityArray[row] as! String
                return (area)
            }
        }
    
        func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
            //选中所执行的方法
            if 0 == component { 
    
            }else {
    
            }
        }
    

    相关文章

      网友评论

          本文标题:iOS开发 swift -- UIPickerView的使用

          本文链接:https://www.haomeiwen.com/subject/qjzvzttx.html