如何在 UIDatePicker 中隐藏日期
How to hide days in UIDatePicker
如何在 UIDatePicker
中隐藏日期并在 UIDatePicker
中添加完成按钮。
无法使用 UIDatePicker
实现,您必须使用自定义库或您自己创建的自定义视图。
使用这个库 MonthYearPickerView-Swift:
将 MonthYearPickerView.swift
文件添加到您的项目并使用:
let monthYearPickerView = MonthYearPickerView()
monthlyPickerView.onDateSelected = { (month: Int, year: Int) in
let string = String(format: "%02d/%d", month, year)
NSLog(string) // should show something like 05/2015
}
monthYearPickerView.frame = CGRect(frame)
view.addSubview(monthYearPickerView)
注意:在 PickerView 顶部添加您自己的工具栏。
输出:
希望对您有所帮助。
无法从选择器的轮盘中完全消除日期。您可以将自己的日期选择器实现为 UIPickerView 或使用任何其他库。
您可以在自己的自定义选择器中轻松显示月份和年份。12 - 个月,即从当年算起 50 年。
// ViewController.swift
// PickerViewApp
// Created by Apple on 16/06/17.
// Copyright © 2017 Valuesol. All rights reserved.
import UIKit
class ViewController: UIViewController ,UIPickerViewDataSource,UIPickerViewDelegate{
@IBOutlet var textField:UITextField!
@IBOutlet var datePickerView:UIPickerView!
@IBOutlet var CancleButton: UIBarButtonItem!
@IBOutlet var ToolBar:UIToolbar!
var pickerDaysmonth = [["1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31"],["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]];
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
self.datePickerView.delegate = self
self.datePickerView.dataSource = self
}
@IBAction func canclebtntapped() {
self.datePickerView.isHidden = true
self.ToolBar.isHidden = true
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func numberOfComponents(in pickerView: UIPickerView) -> Int {
return 2
}
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return self.pickerDaysmonth[component].count
}
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
return self.pickerDaysmonth[component][row]
}
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
let days = pickerDaysmonth[0][pickerView.selectedRow(inComponent: 0)]
let month = pickerDaysmonth[1][pickerView.selectedRow(inComponent: 1)]
textField.text = days + " " + month
}
}
试试这个代码
正常工作
如何在 UIDatePicker
中隐藏日期并在 UIDatePicker
中添加完成按钮。
无法使用 UIDatePicker
实现,您必须使用自定义库或您自己创建的自定义视图。
使用这个库 MonthYearPickerView-Swift:
将 MonthYearPickerView.swift
文件添加到您的项目并使用:
let monthYearPickerView = MonthYearPickerView()
monthlyPickerView.onDateSelected = { (month: Int, year: Int) in
let string = String(format: "%02d/%d", month, year)
NSLog(string) // should show something like 05/2015
}
monthYearPickerView.frame = CGRect(frame)
view.addSubview(monthYearPickerView)
注意:在 PickerView 顶部添加您自己的工具栏。
输出:
希望对您有所帮助。
无法从选择器的轮盘中完全消除日期。您可以将自己的日期选择器实现为 UIPickerView 或使用任何其他库。
您可以在自己的自定义选择器中轻松显示月份和年份。12 - 个月,即从当年算起 50 年。
// ViewController.swift
// PickerViewApp
// Created by Apple on 16/06/17.
// Copyright © 2017 Valuesol. All rights reserved.
import UIKit
class ViewController: UIViewController ,UIPickerViewDataSource,UIPickerViewDelegate{
@IBOutlet var textField:UITextField!
@IBOutlet var datePickerView:UIPickerView!
@IBOutlet var CancleButton: UIBarButtonItem!
@IBOutlet var ToolBar:UIToolbar!
var pickerDaysmonth = [["1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31"],["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]];
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
self.datePickerView.delegate = self
self.datePickerView.dataSource = self
}
@IBAction func canclebtntapped() {
self.datePickerView.isHidden = true
self.ToolBar.isHidden = true
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func numberOfComponents(in pickerView: UIPickerView) -> Int {
return 2
}
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return self.pickerDaysmonth[component].count
}
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
return self.pickerDaysmonth[component][row]
}
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
let days = pickerDaysmonth[0][pickerView.selectedRow(inComponent: 0)]
let month = pickerDaysmonth[1][pickerView.selectedRow(inComponent: 1)]
textField.text = days + " " + month
}
}
试试这个代码 正常工作