Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/93.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.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
Ios 在屏幕上设置键盘_Ios_Xcode_Keyboard_Uitextview - Fatal编程技术网

Ios 在屏幕上设置键盘

Ios 在屏幕上设置键盘,ios,xcode,keyboard,uitextview,Ios,Xcode,Keyboard,Uitextview,除了使用外,还有什么方法可以在加载视图时将键盘设置为在屏幕上 [textView becomeFirstResponder]; 我之所以需要它,是因为我想让用户看到占位符文本,即使键盘已经固定在屏幕上 根据您的评论,当textView刚刚开始编辑时,不要隐藏占位符文本。相反,您应该使用UITextView的委托方法shouldChangeTextInRange:replacementText:来计算textView文本的长度,如果它为零,则显示占位符字符串,否则不显示 - (BOOL)text

除了使用外,还有什么方法可以在加载视图时将键盘设置为在屏幕上

[textView becomeFirstResponder];

我之所以需要它,是因为我想让用户看到占位符文本,即使键盘已经固定在屏幕上

根据您的评论,当textView刚刚开始编辑时,不要隐藏占位符文本。相反,您应该使用
UITextView
的委托方法
shouldChangeTextInRange:replacementText:
来计算textView文本的长度,如果它为零,则显示占位符字符串,否则不显示

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
       NSString* txt = [textView.text stringByReplacingCharactersInRange:range withString:text];
       if([txt length] == 0)
       // Show your place holder text
       else   
       // Hide your place holder text
}

根据您的评论,当textView刚刚开始编辑时,不要隐藏占位符文本。相反,您应该使用
UITextView
的委托方法
shouldChangeTextInRange:replacementText:
来计算textView文本的长度,如果它为零,则显示占位符字符串,否则不显示

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
       NSString* txt = [textView.text stringByReplacingCharactersInRange:range withString:text];
       if([txt length] == 0)
       // Show your place holder text
       else   
       // Hide your place holder text
}
使用下面的代码

- (void)viewDidLoad
{
     [Super viewDidLoad];
     textView = [ [UITextview alloc]initwithFrame:frame];// Customise TextView
     textview.text = @"Enter your text here";
     [textview becomeFirstResponder];
     [self.view addSubview:textview];
}
这可能有助于您使用以下代码

- (void)viewDidLoad
{
     [Super viewDidLoad];
     textView = [ [UITextview alloc]initwithFrame:frame];// Customise TextView
     textview.text = @"Enter your text here";
     [textview becomeFirstResponder];
     [self.view addSubview:textview];
}

这可能会帮助您

如何显示textView的占位符文本?我将默认文本设置为类似于
@“在此处输入文本”
,然后在用户开始键入时通过调用
-(void)textViewDidBeginEditing:(UITextView*)将其删除textView
如何显示textView的占位符文本?我将默认文本设置为类似于
@“在此处输入文本”
,然后在用户开始键入时通过调用
-(void)textViewDidBeginEditing:(UITextView*)textView
删除它。我认为这不是一个好主意,因为我使用的是
[textView.text-StringByReplacingCharactersRange:range with String:text];
您提供的代码将导致我的应用程序崩溃。此外,我会键入一个文本,它会将占位符追加到我刚才键入的文本中。如果您追加到原始占位符文本中,您可以检查原始占位符的长度,而不是零。此外,您的注释中有类似的内容“我将默认文本设置为@“在此处输入文本”,然后在用户开始键入时将其删除…”。。。。。“所以基本上我回答了这个问题。记住单词Remove:)谢谢你的回答,我真的很感谢你的帮助。但是我最终使用了
UITextView
的子类来拥有占位符属性。:)我认为这不是一个好主意,因为我使用的是
[textView.text stringByReplacingCharactersInRange:range with string:text];
您提供的代码将导致我的应用程序崩溃。此外,我会键入一个文本,它会将占位符追加到我刚才键入的文本中。如果您追加到原始占位符文本中,您可以检查原始占位符的长度,而不是零。此外,您的注释中有类似的内容“我将默认文本设置为类似于@“在此处输入您的文本”,然后在用户开始键入时将其删除…”所以基本上我回答了这个问题。记住单词remove:)谢谢您的回答,我非常感谢您的帮助。但我最终使用了
UITextView
的子类来拥有占位符属性。:)