我有一个文本字段,并希望其中一部分可编辑(而不是整个文本字段)。
我尝试了类似下面的代码,只使文本字段的前6个字符可编辑。但是,没有任何成功。
@IBOutlet weak var textField: UITextView!
textField.editable(NSRange(location: 0, length: 6)) = true
有谁知道解决这个问题?
感谢您的支持!
答案 0 :(得分:1)
让用户只输入6个字符和数字,我一直在用这个.. !! 在视图控制器中使用此功能
http://localhost:8000/appservices
并将其放在viewDidAppear
中func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
var result = true
let prospectiveText = (textField.text as NSString).stringByReplacingCharactersInRange(range, withString: string)
if textField == textField {
if count(string) > 0 {
let disallowedCharacterSet = NSCharacterSet(charactersInString: "0123456789").invertedSet
let replacementStringIsLegal = string.rangeOfCharacterFromSet(disallowedCharacterSet) == nil
let resultingStringLengthIsLegal = count(prospectiveText) <= 6
let scanner = NSScanner(string: prospectiveText)
let resultingTextIsNumeric = scanner.scanDecimal(nil) && scanner.atEnd
result = replacementStringIsLegal &&
resultingStringLengthIsLegal &&
resultingTextIsNumeric
}
}
return result
}
并继承
textField.delegate = self
希望此代码能解决您的问题。
答案 1 :(得分:-1)
两个并排或重叠的文本字段怎么样?一个可以编辑,另一个不可编辑。您可以调整边框以使其看起来无缝。