我正在使用Xcode的SplitView模板。
我在视图的“详细信息”一侧放置了一堆文本字段但是我忘了键盘占据了屏幕的一半。
当键盘进入屏幕时,如何向上移动此详细视图?
答案 0 :(得分:3)
当我无法使用UIScrollView时,我使用了始终有用的Cocoa With Love中的此解决方案。
如果您想在层次结构中添加UIScrollView,它会变得更加容易。只需在文本字段上方的层次结构中插入UIScrollview,并在用户点击文本项以开始编辑时使用此代码:
UIScrollView* v = (UIScrollView*) self.view ;
CGRect rc = [textField bounds];
rc = [textField convertRect:rc toView:v];
rc.origin.x = 0 ;
rc.origin.y -= 60 ;
rc.size.height = 400;
[self.scroll scrollRectToVisible:rc animated:YES];
祝你好运!
答案 1 :(得分:1)
我曾经遇到过这个问题。我的应用程序使用表视图来显示字段,因此我想出的解决方案是监听textViewDidBeginEditing以在表视图上执行scrollToRowAtIndexPath:
- (void)textViewDidBeginEditing:(UITextView *)textView{
UITableViewCell *cell = (UITableViewCell*) [[textView superview] superview];
[self.myTableView scrollToRowAtIndexPath:[self.myTableView indexPathForCell:cell] atScrollPosition:UITableViewScrollPositionMiddle animated:YES];
}
如果您没有表格视图但是滚动视图我认为您可以采用相同的方法,但是告诉滚动视图滚动到您需要的部分,就像@MystikSpiral所说的那样。