gpt4 book ai didi

ios - 在 UITextField swift 3.0 中使用数字键盘以 dd-MM-yyyy 格式输入日期

转载 作者:搜寻专家 更新时间:2023-11-01 05:47:25 27 4
gpt4 key购买 nike

我想在输入 UITextField 时格式化 (dd-MM-yyyy) 文本,我使用的是 swift 3.0,任何建议我如何实现相同的。

最佳答案

像这样使用

// create one textfield
@IBOutlet var txtDOB: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.

// set delegate for your textfield
txtDOB.delegate = self

}

//在 textfield 委托(delegate)中调用你的函数 shouldChangeCharactersIn

func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
//Format Date of Birth dd-MM-yyyy

//initially identify your textfield

if textField == txtDOB {

// check the chars length dd -->2 at the same time calculate the dd-MM --> 5
if (txtDOB?.text?.characters.count == 2) || (txtDOB?.text?.characters.count == 5) {
//Handle backspace being pressed
if !(string == "") {
// append the text
txtDOB?.text = (txtDOB?.text)! + "-"
}
}
// check the condition not exceed 9 chars
return !(textField.text!.characters.count > 9 && (string.characters.count ) > range.length)
}
else {
return true
}
}

objective-c

  - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
//Format Date of Birth dd-MM-yyyy

if(textField == txtDOB)
{
if ((txtDOB.text.length == 2)||(txtDOB.text.length == 5))
//Handle backspace being pressed
if (![string isEqualToString:@""])
txtDOB.text = [txtDOB.text stringByAppendingString:@"-"];
return !([textField.text length]>9 && [string length] > range.length);
}
else
return YES;

}

关于ios - 在 UITextField swift 3.0 中使用数字键盘以 dd-MM-yyyy 格式输入日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42200953/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com