向上滚动屏幕以显示键盘上方的TextView
我想我错过了一些明显的东西,并希望得到答案。向上滚动屏幕以显示键盘上方的TextView
我有一个2段分组tableView,每个部分有一个行和一个textView,行335和140的高度的视图。这允许一个有很好的圆角的框键入文本到键盘出现(140高度部分),当键盘被解散时,一个漂亮的盒子可以阅读更多的文字(注释);大多数情况下,使用没有键盘。
我还在屏幕底部添加了一个工具栏来在键盘上方向上滚动。工具栏上的按钮会关闭键盘。最后这部分工作正常键盘上上下下使用的通知,并在keyboardWillShow方法如下代码:
[UIView beginAnimations:@"showKeyboardAnimation" context:nil];
[UIView setAnimationDuration:0.50];
self.view.frame = CGRectMake(self.view.frame.origin.x,
self.view.frame.origin.y,
self.view.frame.size.width,
self.view.frame.size.height - 216);
[UIView commitAnimations];
但与上面的代码中,的tableView的2个部分仍然未涡卷,只有工具栏和键盘移动。使用下面的代码(在以前的文章中都可以找到),工具栏和tableView部分都会移动。
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.50];
CGRect rect = self.view.frame;
rect.origin.y -= 216;
self.view.frame = rect;
[UIView commitAnimations];
现在我知道我必须调整的数字得到一切我所想要的,但我的第一个问题是什么是2台的代码,该段在第二,但不是在移动之间的本质不同第一?工具栏也随第二个代码一起移动。
第二个问题是,我可以将屏幕下方的较小高度部分滚动到键盘上方,同时将工具栏向上移动216?
感谢
我可能失去了一些东西,但在第一段代码,你是216,而在第二张的代码改变高度,你被改变了整个视图的由来在y方向上是216。
根据您在IB中设置的框架的不同,如果您不允许它沿该方向移动,则第一段代码可能不会移动它。在巡视窗口中检查您的设置。
当你说“unscrolled”你指的是他们没有改变主视图内的位置正确吗?这与他们实际滚动的不同(你可以通过改变滚动值来实现)。
你可能想看看这里的隐藏抽屉的例子,因为他们将视图进出主视图,有点像工具栏,我想这就是你要求的。虽然整个“滚动”的东西都扔掉了我。
http://cocoawithlove.com/2009/05/intercepting-status-bar-touches-on.html
从内存中,像
tableView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight
谢谢,罗布。我盯着那个最长的(身高与起源),并没有看到它。链接是完美的让我做我想做的事。 – 2010-05-24 21:28:21
永远不会因为一个问题而得到第二双眼睛!祝你好运,乐于帮助。 – iwasrobbed 2010-05-24 21:48:50