设置UITextField的最大字符长度

设置UITextField的最大字符长度

如何设置UITextField在iPhoneSDK上,当我加载一个UIView?


qq_花开花谢_0
浏览 677回答 3
3回答

繁星coding

SWIFT 4import&nbsp;UIKitprivate&nbsp;var&nbsp;kAssociationKeyMaxLength:&nbsp;Int&nbsp;=&nbsp;0extension&nbsp;UITextField&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;@IBInspectable&nbsp;var&nbsp;maxLength:&nbsp;Int&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;get&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;let&nbsp;length&nbsp;=&nbsp;objc_getAssociatedObject(self,&nbsp;&kAssociationKeyMaxLength)&nbsp;as?&nbsp;Int&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;length&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;Int.max&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;objc_setAssociatedObject(self,&nbsp;&kAssociationKeyMaxLength,&nbsp;newValue,&nbsp;.OBJC_ASSOCIATION_RETAIN) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;addTarget(self,&nbsp;action:&nbsp;#selector(checkMaxLength),&nbsp;for:&nbsp;.editingChanged) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;@objc&nbsp;func&nbsp;checkMaxLength(textField:&nbsp;UITextField)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;guard&nbsp;let&nbsp;prospectiveText&nbsp;=&nbsp;self.text, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;prospectiveText.count&nbsp;>&nbsp;maxLength&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let&nbsp;selection&nbsp;=&nbsp;selectedTextRange &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let&nbsp;indexEndOfText&nbsp;=&nbsp;prospectiveText.index(prospectiveText.startIndex,&nbsp;offsetBy:&nbsp;maxLength) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let&nbsp;substring&nbsp;=&nbsp;prospectiveText[..<indexEndOfText] &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;text&nbsp;=&nbsp;String(substring) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;selectedTextRange&nbsp;=&nbsp;selection&nbsp;&nbsp;&nbsp;&nbsp;}}编辑:内存泄漏问题修复。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

iOS