UIDatePicker,默认值为nil – iOS

UIDatePicker,默认值为nil – iOS,第1张

概述我搜索了很多但没找到解决办法.任何人都可以帮助我找出如何将UIDatePicker初始值设置为空文本字段? import UIKit import Alamofire import KVNProgress class EditProfileVC: UIViewController, UIImagePickerControllerDelegate, UINavigation 我搜索了很多但没找到解决办法.任何人都可以帮助我找出如何将UIDatePicker初始值设置为空文本字段?

import UIKit    import Alamofire    import KVNProgress    class EditProfileVC: UIVIEwController,UIImagePickerControllerDelegate,UINavigationControllerDelegate    {        @IBOutlet var datePickerVIEw: UIVIEw!        @IBOutlet var datePicker: UIDatePicker!        @IBOutlet var birthdayText: UnderlineTextFIEld!        @IBOutlet var bioText: UnderlineTextFIEld!        @IBOutlet var scrollVIEw: UIScrollVIEw!        var imagePicker = UIImagePickerController()        var photoFlag = -1        let activityVIEw = UIActivityIndicatorVIEw(activityIndicatorStyle: .whiteLarge)        var singletonInstance = Singleton.sharedDataContainer        var email = ""        var token = ""        overrIDe func vIEwDIDLoad()        {            super.vIEwDIDLoad()            self.birthdayText.text = ""            if #available(iOS 11.0,*)            {                navigationController?.navigationbar.prefersLargeTitles = false            }            else            {                // Fallback on earlIEr versions            }            SwiftyPListManager.shared.getValue(for: "access_token",fromPListWithname: "AccountDetails") { (result,err) in                if err == nil                {                    self.token = (result as? String)!                }            }            activityVIEw.color = UIcolor.blue            activityVIEw.center = self.vIEw.center            self.vIEw.addSubvIEw(activityVIEw)            self.datePickerVIEw.isHIDden  = true            self.genderTxt.isUserInteractionEnabled = false            self.birthdayText.isUserInteractionEnabled = false            imagePicker.delegate = self            datePicker.addTarget(self,action: #selector(datePickerChanged),for: .valueChanged)self.getProfileDetails()        }        @objc func savepressed()        {            self.activityVIEw.isHIDden = false            self.activityVIEw.startAnimating()            let dateFormatter = DateFormatter()            dateFormatter.dateFormat = "MMMM dd,YYYY"            let date = dateFormatter.date(from: self.birthdayText.text!)            dateFormatter.dateFormat = "dd-MM-yyyy"            let dob = dateFormatter.string(from: date!)            let appDelegate = UIApplication.shared.delegate as! AppDelegate            let urlString = appDelegate.serverUrl + "edit_profile?full_name=\(self.fullnameText.text!)&dob=\(dob)&gender=\(self.genderTxt.text!)&bio_data=\(self.bioText.text!)&location=\(self.locationText.text!)&web_site=\(self.webTextFIEld.text!)&token=\(self.token)"        }        @objc func datePickerChanged(sender: UIDatePicker)        {            let formatter = DateFormatter()            formatter.dateFormat = "MMMM dd,YYYY"            birthdayText.text = formatter.string(from: sender.date)        }        overrIDe func dIDReceiveMemoryWarning()        {            super.dIDReceiveMemoryWarning()        }        func getProfileDetails()        {            self.activityVIEw.isHIDden = false            self.activityVIEw.startAnimating()            let appDelegate = UIApplication.shared.delegate as! AppDelegate            let urlString = appDelegate.serverUrl + "vIEw_profile?token=\(self.token)"                }            }        }        @IBAction func birthdayTapped(_ sender: Any)        {            self.datePickerVIEw.isHIDden = false        }    }

上面的代码是我的整个vIEwcontroller类代码,任何人都可以请你帮我找出解决方案.我将birthdayText的值赋值为nil I VIEwController但没有用.

解决方法 默认情况下,UITextFIEld的text属性为空.所以下面的代码按预期工作.将它与您的代码进行比较:

class VIEwController: UIVIEwController {    private let textFIEld: UITextFIEld = {        let tf = UITextFIEld()        tf.borderStyle = .roundedRect        tf.placeholder = "Choose date and time"        tf.text = "" // not even necessary        return tf    }()    lazy private var datePicker: UIDatePicker = {        let dp = UIDatePicker()        dp.addTarget(self,action: #selector(datePickerValueChanged),for: .valueChanged)        return dp    }()    lazy private var dateFormatter: DateFormatter = {        let df = DateFormatter()        df.dateStyle = .short        df.timeStyle = .short        return df    }()    @objc private func datePickerValueChanged(datePicker: UIDatePicker) {        textFIEld.text = dateFormatter.string(from: datePicker.date)    }    overrIDe func vIEwDIDLoad() {        super.vIEwDIDLoad()        let stackVIEw = UIStackVIEw(arrangedSubvIEws: [textFIEld,datePicker])        stackVIEw.axis = .vertical        vIEw.addSubvIEw(stackVIEw)        stackVIEw.translatesautoresizingMaskIntoConstraints = false        NSLayoutConstraint.activate([            stackVIEw.topAnchor.constraintEqualToSystemSpacingBelow(vIEw.safeAreaLayoutGuIDe.topAnchor,multiplIEr: 1),stackVIEw.leadingAnchor.constraintEqualToSystemSpacingAfter(vIEw.safeAreaLayoutGuIDe.leadingAnchor,vIEw.safeAreaLayoutGuIDe.trailingAnchor.constraintEqualToSystemSpacingAfter(stackVIEw.trailingAnchor,multiplIEr: 1)        ])    }}

结果是:

更新:

您的问题似乎是在vIEwDIDLoad的末尾调用self.getProfileDetails().在该方法中,您可以使用self.birthdayText.text = dateFormatter.string(from:date!)来设置文本.

总结

以上是内存溢出为你收集整理的UIDatePicker,默认值为nil – iOS全部内容,希望文章能够帮你解决UIDatePicker,默认值为nil – iOS所遇到的程序开发问题。

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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1067121.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存