Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c UITextField使零件不可编辑_Objective C_Uitextfield - Fatal编程技术网

Objective c UITextField使零件不可编辑

Objective c UITextField使零件不可编辑,objective-c,uitextfield,Objective C,Uitextfield,如何使UITextField的一部分不可编辑?我的意思是,我为文本字段设置了一个默认值,我只希望用户能够编辑他们添加的部分。这可能吗?如果是这样,请告诉我如何进行此操作。请查看: 而不是使用“默认”值,而是考虑使用占位符值,当它们键入任何东西时,这将被清除,如果您将其保留为空白,则可以接受占位符值作为默认值。 属性(非原子)NScord*MyStand; @property (nonatomic) NSString *myString; - (void)viewDidLoad {

如何使UITextField的一部分不可编辑?我的意思是,我为文本字段设置了一个默认值,我只希望用户能够编辑他们添加的部分。这可能吗?如果是这样,请告诉我如何进行此操作。

请查看:

而不是使用“默认”值,而是考虑使用占位符值,当它们键入任何东西时,这将被清除,如果您将其保留为空白,则可以接受占位符值作为默认值。

<代码>属性(非原子)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;
}