[*]
Code: Select all
UITextField
[*]
Code: Select all
UITextFieldDelegate
Code: Select all
UITextPasteDelegate
Code: Select all
,
Komma wurde nicht eingefügt, aber das Caret bewegte sich, als wäre es.
Code: Select all
UITextPasteDelegate
Code: Select all
func textPasteConfigurationSupporting(_ textPasteConfigurationSupporting: UITextPasteConfigurationSupporting, transform item: UITextPasteItem)
{
_ = item.itemProvider.loadObject(
ofClass: String.self,
completionHandler: { object, _ in
guard let string = object
else { return }
DispatchQueue.main.async { [weak self] in
guard let self
else { return }
if let textField = textPasteConfigurationSupporting as? UITextField,
let selectedRange = textField.selectedRange
{
let resultingString = textField.text?.resultingString(
replacementString: string,
replacementRange: selectedRange
) ?? ""
if resultingString.count > 18
{
/* set clipped text manually */
}
else
{
item.setResult(string: string)
}
}
}
}
)
}
< /code>
UITextFieldDelegate
Code: Select all
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool
{
guard let resultingString = textField.text?.resultingString(
replacementString: string,
replacementRange: range
)
else { return false }
return resultingString
* Here resultingString(replacementString:replacementRange:)
Code: Select all
item.setNoResult()
textField.text = resultingString
textField.sendActions(for: .editingChanged)
< /code>
Die Pfarrposition in UitextFieldDelegate < /code> < /li>
< /ol>
wiederherstellenlet shouldChange = resultingString
* Here setCaretIndex()
wäre dankbar für bessere Lösungen!>