Skip to content

Commit

Permalink
Merge pull request nightscout#352 from MikePlante1/deleting_meal_note…
Browse files Browse the repository at this point in the history
…_fix

Prevent crash when holding backspace
  • Loading branch information
dnzxy authored and mountrcg committed Jul 29, 2024
1 parent 9eac05a commit 75a7f56
Showing 1 changed file with 15 additions and 11 deletions.
26 changes: 15 additions & 11 deletions FreeAPS/Sources/Views/TextFieldWithToolBar.swift
Original file line number Diff line number Diff line change
Expand Up @@ -290,20 +290,24 @@ extension TextFieldWithToolBarString.Coordinator: UITextFieldDelegate {
shouldChangeCharactersIn range: NSRange,
replacementString string: String
) -> Bool {
if let maxLength = parent.maxLength {
// Get the current text, including the proposed change
let currentText = textField.text ?? ""
let newLength = currentText.count + string.count - range.length
if newLength > maxLength {
return false
}
guard let currentText = textField.text as NSString? else {
return false
}

// Calculate the new text length
let newLength = currentText.length + string.count - range.length

// If there's a maxLength, ensure the new length is within the limit
if let maxLength = parent.maxLength, newLength > maxLength {
return false
}

// Attempt to replace characters in range with the replacement string
let newText = currentText.replacingCharacters(in: range, with: string)

// Update the binding text state
DispatchQueue.main.async {
if let textFieldText = textField.text as NSString? {
let newText = textFieldText.replacingCharacters(in: range, with: string)
self.parent.text = newText
}
self.parent.text = newText
}

return true
Expand Down

0 comments on commit 75a7f56

Please sign in to comment.