基于iOS的APP“好妈妈”开发日志十——解决UIPickerView UIToolBar 按钮失效问题

点击UIPickerView UIToolBar中的按钮,UIPickerView中的内容自动上移三个row

受到https://www.cnblogs.com/gchlcc/p/5760161.html启发,直接将改好的代码放到下面:
实现在UIPickView中添加确认、取消按钮(pickview根据需要自行实现)

@IBOutlet weak var SetTime1: UITextField!
var pickView1 = UIPickerView()
var pickerDateToolbar = UIToolbar()
override func viewDidLoad() {
        super.viewDidLoad()
        pickerDateToolbar = UIToolbar.init(frame: CGRect(x: 0,y: 0,width: 320, height: 44))
        pickerDateToolbar.barStyle = UIBarStyle.blackOpaque
        pickerDateToolbar.sizeToFit()
        
        let barItems = NSMutableArray.init()
        //存放三个barbuttonitem
        
        let cancelBtn = UIBarButtonItem.init(title: "取消", style: UIBarButtonItemStyle.plain, target: self, action: #selector(toolBarCancelClick))//左按钮
        barItems.add(cancelBtn)
        
        let flexSpace = UIBarButtonItem.init(barButtonSystemItem: UIBarButtonSystemItem.flexibleSpace, target: nil, action: nil)//中间的弹簧
        barItems.add(flexSpace)
        
        let doneBtn = UIBarButtonItem.init(title: "完成", style: UIBarButtonItemStyle.done, target: self, action: #selector(toolBarDoneClick))//右按钮
        barItems.add(doneBtn)

        pickerDateToolbar.setItems(barItems as? [UIBarButtonItem], animated: true)
        pickerDateToolbar.tintColor = UIColor.black//字颜色
        pickerDateToolbar.barTintColor = UIColor.white
        //bar背景颜色

        // 重点的一句
        SetTime1.inputView = pickView1
        self.SetTime1.inputAccessoryView = pickerDateToolbar
	}
    @objc func toolBarCancelClick(){
        self.view.endEditing(true)
    }
    
    @objc func toolBarDoneClick(){
        let row = pickView1.selectedRow(inComponent: 0) //获取当前行
        let value = Date1.object(at: row) as! String //获取行内数据
        self.SetTime1.text = value
        self.view.endEditing(true)
    }

效果图:
基于iOS的APP“好妈妈”开发日志十——解决UIPickerView UIToolBar 按钮失效问题

努力奋斗!~????luhh????

相关文章:

  • 2022-12-23
  • 2021-07-28
  • 2022-12-23
  • 2022-02-19
  • 2021-05-28
  • 2022-12-23
  • 2022-01-26
  • 2021-11-27
猜你喜欢
  • 2021-08-07
  • 2021-04-18
  • 2021-06-28
  • 2021-09-24
  • 2022-01-13
  • 2021-06-23
  • 2021-06-12
相关资源
相似解决方案