我已經構建了一個複合興趣計算器應用程序。應用程序正在運行,現在我想防止重複。在文本字段中。在Swift中停止重複的小數點分隔符
我已經做了以下三件事情,但它不阻止用戶輸入超過1個小數點分隔符:
- 符合全班UITextFieldDelegate
- 連接文本字段的委託財產到視圖控制器
添加以下的本金,利息,頻率,年內文本字段功能:
func principal(principal: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool { let existingTextHasDecimalSeparator = principal.text?.rangeOfString(".") let replacementTextHasDecimalSeparator = string.rangeOfString(".") if existingTextHasDecimalSeparator != nil && replacementTextHasDecimalSeparator != nil { return false } else { return true } } func interest(interest: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool { let existingTextHasDecimalSeparator = interest.text?.rangeOfString(".") let replacementTextHasDecimalSeparator = string.rangeOfString(".") if existingTextHasDecimalSeparator != nil && replacementTextHasDecimalSeparator != nil { return false } else { return true } } func freq(freq: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool { let existingTextHasDecimalSeparator = freq.text?.rangeOfString(".") let replacementTextHasDecimalSeparator = string.rangeOfString(".") if existingTextHasDecimalSeparator != nil && replacementTextHasDecimalSeparator != nil { return false } else { return true } } func years(years: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool { let existingTextHasDecimalSeparator = years.text?.rangeOfString(".") let replacementTextHasDecimalSeparator = string.rangeOfString(".") if existingTextHasDecimalSeparator != nil && replacementTextHasDecimalSeparator != nil { return false } else { return true } }
任何幫助表示讚賞!
感謝奇妙地工作了所有的文本框..我刪除了所有具體文本字段的實施和使用的唯一一個完整的簽名功能完全相同。 – KawaiKx