我有一个很大的评论字段,它是一个UITextView
. 由于出现了键盘,而 UITextField 几乎占了整个视图的一半,用户几乎看不到该字段。我想要做的是当键盘出现时(即UITextView
正在编辑),我想将视图向上移动以使其完全可见且用户友好。
问问题
950 次
2 回答
0
您可以使用
UITextViewTextDidBeginEditing
重新排列视图中的项目。并使用
– bringSubviewToFront:
将文本视图带到前面。
于 2012-05-27T20:30:49.370 回答
0
在浏览了复杂无用的代码后,我在这里找到了一个快速的解决方案:
https://stackoverflow.com/a/5221243/1139419
感谢 Dan Ray,这里的答案非常温和地处理了这种情况
关于以下内容的快速说明:调用此函数对我来说并没有什么魅力
-(void)scrollToView:(UIView *)view {
CGRect theFrame = view.frame;
float y = theFrame.origin.y - 15;
y -= (y/1.7);
[self scrollToY:-y];
}
所以我编辑了这个函数:
-(void)scrollToView:(UIView *)view withCoefficient:(CGFloat)coeff
{
CGRect theFrame = view.frame;
float y = theFrame.origin.y;
y -= (y/coeff);
[self scrollToY:-y];
}
进入这个。这样我可以尝试滑动主视图的系数是合适的。不是 1.7,而是 2 为我带来了魅力。请访问链接以获取完整解决方案。UINavigationController
另请注意,如果存在,您可能也想为您应用相同的东西;
-(void)textViewDidBeginEditing:(UITextView *)textView
{
[self.view scrollToView:textView withCoefficient:2.0];
[self.navigationController.view scrollToView:textView withCoefficient:2.0];
}
于 2012-05-27T21:57:43.383 回答