如何让UITextField的一部分不可编辑?我的意思是我为文本字段设置了一个默认值,我只希望用户能够编辑他们添加的部分。这可能吗?如果是这样,请告诉我如何做到这一点。
答案 0 :(得分:0)
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
// get textField.text string using range and compare it to your default.
// return no if you don't want it to change
}
或者使用"默认"值,请考虑使用占位符值,当它们键入任何内容时将被清除,如果将其留空,则可以接受占位符值作为默认值。
答案 1 :(得分:0)
@property (nonatomic) NSString *myString;
- (void)viewDidLoad
{
[super viewDidLoad];
self.myString = @"whatever";
self.myTextField.text = self.myString;
self.myTextField.delegate = self;
}
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
// Avoid user replacing characters from myString
if (range.location < [self.myString length])
{
return NO;
}
// Allow adding or replacing new characters after myString
return YES;
}