Objective c UITextField使零件不可编辑
如何使UITextField的一部分不可编辑?我的意思是,我为文本字段设置了一个默认值,我只希望用户能够编辑他们添加的部分。这可能吗?如果是这样,请告诉我如何进行此操作。请查看:Objective c UITextField使零件不可编辑,objective-c,uitextfield,Objective C,Uitextfield,如何使UITextField的一部分不可编辑?我的意思是,我为文本字段设置了一个默认值,我只希望用户能够编辑他们添加的部分。这可能吗?如果是这样,请告诉我如何进行此操作。请查看: 而不是使用“默认”值,而是考虑使用占位符值,当它们键入任何东西时,这将被清除,如果您将其保留为空白,则可以接受占位符值作为默认值。 属性(非原子)NScord*MyStand; @property (nonatomic) NSString *myString; - (void)viewDidLoad {
而不是使用“默认”值,而是考虑使用占位符值,当它们键入任何东西时,这将被清除,如果您将其保留为空白,则可以接受占位符值作为默认值。
<代码>属性(非原子)NScord*MyStand;@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;
}
-(无效)viewDidLoad
{
[超级视图下载];
self.myString=@“无论如何”;
self.myTextField.text=self.myString;
self.myTextField.delegate=self;
}
-(BOOL)textField:(UITextField*)textField应更改字符范围:(NSRange)范围替换字符串:(NSString*)字符串
{
//避免用户替换myString中的字符
if(range.location<[self.myString length])
{
返回否;
}
//允许在myString之后添加或替换新字符
返回YES;
}
请举个例子Hey Ricardo我非常感谢你的回答,但我在标题中放了@property行,其余的放在了我的ViewController中。m,我得到了2个完全相同的东西,说明“在对象类型“ViewController*”上找不到属性“myTextField”,请帮助。它们位于viewDidLoad函数的最后两行。“self.myTextField…”行您应该将故事板(或XIB)中的参考插座从UITextField连接到名为
myTextField
(或您选择的名称)的属性。如果你没有故事板或XIB,那么你可以通过编程方式创建文本字段并将其存储为属性。我有一个故事板,但没有出口…请帮助我,对不起,伙计,我真的对你的意思感到困惑..请解释我对Objective-C非常陌生
@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;
}