iOS开发 swift -- UIPickerView的使用

一 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 {

        }
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容