程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了pickerView 来自 TextField 文本的预定义行大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决pickerView 来自 TextField 文本的预定义行?

开发过程中遇到pickerView 来自 TextField 文本的预定义行的问题如何解决?下面主要结合日常开发的经验,给出你关于pickerView 来自 TextField 文本的预定义行的解决方法建议,希望对你解决pickerView 来自 TextField 文本的预定义行有所启发或帮助;

我有一些从数据库中填充的文本字段,我想打开 pickerVIEw 并选择与每个文本字段对应的预定义行。 例如来自 ODS 的组件 0,来自 ODC 的组件 1,来自 ODA 的组件 2,来自 ODADD 的组件 3 我可以在 vIEwDIDLoad 中使用“pickerVIEwnumber.SELEctRow(5,inComponent: 0,animation: truE)”在开始时进行预定义,但我想将它与文本字段中的文本同步。

任何帮助将不胜感激。

import UIKit

class Page2VIEwController: UIVIEwController,UITextFIEldDelegate{
 var sphList:[Double] = []
    var cylList:[Double] = []
    var axisList:[Int] = []
    var addList:[Double] = []
    var pickerVIEwnumber = UIPickerVIEw()

    overrIDe func vIEwDIDLoad() {
        super.vIEwDIDLoad()
        ODs.inputVIEw = pickerVIEwnumber
        ODC.inputVIEw = pickerVIEwnumber
        ODA.inputVIEw = pickerVIEwnumber
        ODAdd.inputVIEw = pickerVIEwnumber
        OSs.inputVIEw = pickerVIEwnumber
        OSC.inputVIEw = pickerVIEwnumber
        OSA.inputVIEw = pickerVIEwnumber
        OSAdd.inputVIEw = pickerVIEwnumber
        axisList.removeAll()
        for n in 1...180 {
            axisList.append(n)
        }
        sphList.removeAll()
        var sph = -20.25
        for _ in 1...161 {
            sph += 0.25
            sphList.append(sph)
        }
        cylList.removeAll()
        var cyl = -8.25
        for _ in 1...63 {
            cyl += 0.25
            cylList.append(cyl)
        }
        addList.removeAll()
        var add = 0.00
        for _ in 1...16 {
            add += 0.25
            addList.append(add)
        }
}

}
extension Page2VIEwController: UIPickerVIEwDelegate,UIPickerVIEwDatasource{
  
    func numberOfComponents(in pickerVIEw: UIPickerVIEw) -> Int {
        return 4
    }
    func pickerVIEw(_ pickerVIEw: UIPickerVIEw,numberOfRowsInComponent component: int) -> Int {
        if component == 0{
            return sphList.count
        }
        if component == 1{
            return cylList.count
        }
        if component == 2{
            return axisList.count
        }
        return addList.count
    }
    func pickerVIEw(_ pickerVIEw: UIPickerVIEw,titleForRow row: Int,forComponent component: int) -> String? {
        if component == 0{
            return numberFormatter.String(for: sphList[row])
        }
        if component == 1{
            return numberFormatter.String(for: cylList[row])
        }
        if component == 2{
            return String(axisList[row])
        }
        return numberFormatter.String(for: addList[row])
        
    }
    func pickerVIEw(_ pickerVIEw: UIPickerVIEw,dIDSELEctRow row: Int,inComponent component: int) {
        let sph = sphList[pickerVIEwnumber.SELEctedRow(inComponent: 0)]
        let cyl = cylList[pickerVIEwnumber.SELEctedRow(inComponent: 1)]
        let axis = axisList[pickerVIEwnumber.SELEctedRow(inComponent: 2)]
        let add = addList[pickerVIEwnumber.SELEctedRow(inComponent: 3)]
    
        if ODs.isEdiTing{
        ODs.text =  numberFormatter.String(for: sph)
        ODC.text = numberFormatter.String(for:cyl)
        ODA.text = String(axis)
        ODAdd.text = numberFormatter.String(for: add)
        }else if OSs.isEdiTing{
            OSs.text = numberFormatter.String(for: sph)
            OSC.text = numberFormatter.String(for: cyl)
            OSA.text = String(axis)
            OSAdd.text = numberFormatter.String(for: add)
        }
       // ODs.resignFirstResponder()
    }
    
    
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

大佬总结

以上是大佬教程为你收集整理的pickerView 来自 TextField 文本的预定义行全部内容,希望文章能够帮你解决pickerView 来自 TextField 文本的预定义行所遇到的程序开发问题。

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

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