UITextView
当用户输入每一行时,如何以编程方式滚动我的。
我的 textView 是必需的,因为键盘会在某些时候隐藏它,如下所示。
我搜索了很多,但没有找到任何合适的解决方案,因为我是 iPhone 开发的新手。我需要你的宝贵帮助。
UITextView
当用户输入每一行时,如何以编程方式滚动我的。
我的 textView 是必需的,因为键盘会在某些时候隐藏它,如下所示。
我搜索了很多,但没有找到任何合适的解决方案,因为我是 iPhone 开发的新手。我需要你的宝贵帮助。
当你打开键盘时,你应该调整你的文本视图的框架。在这种情况下,将框架的高度降低键盘的高度。
为这两个委托方法实现正确的代码。
- (BOOL)textViewShouldBeginEditing:(UITextView *)textView
{
CGRect frm = textView.frame;
frm.height -= KEY_BOARD_HEIGHT;
textView.frame = frm;
}
- (BOOL)textViewShouldEndEditing:(UITextView *)textView;
{
CGRect frm = textView.frame;
frm.height += KEY_BOARD_HEIGHT;
textView.frame = frm;
}
为滚动位置取一个变量::int scrollY;
文本视图代码::
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
if ([text isEqualToString:@"\n"])
{
scrollY += 10;
scrMain.contentOffset = CGPointMake(0, scrollY);
}
return YES;
}
然后,当用户从键盘退出时,将其再次设置为 0 并滚动到其原点位置。
scrollY = 0;
scrMain.contentOffset = CGPointMake(0, 0);
希望,它可以帮助你。
谢谢。
UITextView
输入文本时自动滚动文本,您只需将UITextView
框架更改为键盘上方,并且当您关闭键盘重置UITextView
框架时
- (void)textViewDidBeginEditing:(UITextView *)textView
{
//set frame for text view here
}
- (void)textViewDidEndEditing:(UITextView *)textView
{
//set frame for text view here
}