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
的子类来拥有占位符属性。:)