Swift   发布时间:2022-03-31  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Swift - UIPickerView大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

import UIKit class ViewController: UIViewController,UIPickerViewDataSource,UIPickerViewDelegate { var pickerView:UIPickerView! override func viewDidLoad() { super.viewDidLoad()
import UIKit

class ViewController: UIViewController,UIPickerViewDataSource,UIPickerViewDelegate {
    var pickerView:UIPickerView!
    override func viewDidLoad() {
        super.viewDidLoad()
        pickerView = UIPickerView(frame: CGRect(x: 0,y: 250,width: 350,height:100))
        //delegate设为自己
        pickerView.delegate = self
        //DataSource设为自己
        pickerView.dataSource = self
        //设置PickerView认值
        pickerView.selectRow(1,inComponent: 0,animated: true)
        self.view.addSubview(pickerView)
        
        let button = UIButton(frame:CGRect(x: 0,y: 0,width: 100,height: 30))
        button.frame = CGRect(x: 150,y: 400,width: 50,height: 50)
        button.backgroundColor = UIColor.red
        button.setTitle("确定",for: .normal)
        button.addTarget(self,action: #selector(ViewController.getPickerViewValue),for: .touchUpInside)
        self.view.addSubview(button)
    }
    @objc func getPickerViewValue(){
        let message = String(pickerView.selectedRow(inComponent: 0))
        let alret = UIAlertController(title: "选择",message: message,preferredStyle: .alert)
        self.present(alret,animated: true,completion: nil)
        DispatchQueue.main.asyncAfter(deadline: DispatchTime.Now() + 1) {
            self.presentedViewController?.dismiss(animated: true,completion: nil)
        }
    }
    //设置PickerView列数(dataSourse协议)
    func numberOfComponents(in pickerView: UIPickerView) -> Int {
        return 3
    }
    //设置PickerView行数(dataSourse协议)
    func pickerView(_ pickerView: UIPickerView,numberOfRowsInComponent component: Int) -> Int {
        return 9
    }
    //设置PickerView选项内容(delegate协议)
    func pickerView(_ pickerView: UIPickerView,titleForRow row: Int,forComponent component: Int) -> String? {
        return String(row)+"-"+String(component)
    }
    //设置列宽
    func pickerView(_ pickerView: UIPickerView,widthForComponent component: Int) -> CGFloat {
        if component == 0{
            return 100
        }
        else{
            return 200
        }
    }
    //设置行高
    func pickerView(_ pickerView: UIPickerView,rowHeightForComponent component: Int) -> CGFloat {
        return 50
    }
    //血钙PickerView选项
    func pickerView(_ pickerView: UIPickerView,viewForRow row: Int,forComponent component: Int,reusing view: UIView?) -> UIView {
        //将图片设为PickerView选型
        let image = UIImage(named: "icon"+String(row))
        let imageView = UIImageView(image:image)
        //修改字体,大小,颜色
        var pickerLabel = view as? UILabel
        if pickerLabel == nil{
            pickerLabel = UILabel()
            pickerLabel?.font = UIFont.systemFont(ofSize: 16)
            pickerLabel?.textAlignment = .center
        }
        pickerLabel?.text = String(row)+"-"+String(component)
        pickerLabel?.textColor = UIColor.blue
        return imageView//pickerLabel!(选择其一)
    }
    //检测响应选项的选择状态
    func pickerView(_ pickerView: UIPickerView,didSelectRow row: Int,inComponent component: Int) {
        print(String(row)+"-"+String(component))
    }
}

大佬总结

以上是大佬教程为你收集整理的Swift - UIPickerView全部内容,希望文章能够帮你解决Swift - UIPickerView所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: