大佬教程收集整理的这篇文章主要介绍了如何让我的UITextView在iOS 7下的屏幕高度减去键盘?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
首先,当我将uITextView放入我的视图控制器(嵌入在导航控制器中)时,它也必须位于导航栏下,否则它会开始太远.
从那里我尝试了所有这些例子:
self.textView.contenTinset = UIEdgeInsetsmake(0,230,0); self.textView.scrollInDicatorInsets = UIEdgeInsetsmake(0,0); self.textView.textContainerInset = UIEdgeInsetsmake(0,0);
每个键盘的位置仍然会在某些点上超过textview.我也试过设置一个高度约束并操纵常量,但没有运气.
self.height.constant = self.height.constant - 240.0;
(高度是约束的出口.)
这些都是在[self.textField becomeFirstResponder]之前和之后尝试过的;呼叫.
我怎么做到这一点?我只想要一个全屏UITextView,其中插入的东西不会出现在键盘下,但它在iOS 7下看起来很疯狂.
在您使用自动布局的情况下,您想要的只是一个“全屏”文本视图,您可以在键盘显示或隐藏时简单地调整单个约束.这将调整文本视图的高度:
@implementation TSViewController { IBOutlet NSLayoutConsTraint* _textViewSpaCEToBottomcatonsTraint; } - (void) dealloc { [[NsnotificationCenter defaultCenter] removeObserver: self]; } - (void)viewDidLoad { [super viewDidLoad]; [[NsnotificationCenter defaultCenter] addObserver:self SELEctor:@SELEctor(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil]; [[NsnotificationCenter defaultCenter] addObserver:self SELEctor:@SELEctor(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil]; } - (void) keyboardWillShow: (Nsnotification*) n { NSValue* bv = n.userInfo[UIKeyboardFrameEndUserInfoKey]; CGRect br = [bv CGRectValue]; _textViewSpaCEToBottomcatonsTraint.constant = br.size.height; } - (void) keyboardWillHide: (Nsnotification*) n { _textViewSpaCEToBottomcatonsTraint.constant = 0; } @end
在故事板中,将uITextView放在视图控制器视图上,并添加4个约束,将其边缘粘贴到视图控制器视图的边缘.将底部空间约束连接到视图控制器中的IBOutlet _textViewSpaCEToBottomcatonsTraint.
您可以稍微玩一下并调整动画块内的大小,从键盘通知中借用动画时间和曲线.
我有兴趣看到一个设置contenTinset的版本并使其正常工作……
编辑
Here is another SO question that covers this topic,with a solution.显然,插入符号(光标)出现问题的问题与我上面提到的问题相同. “正确”的方法,这是设置contenTinset属性.因此,对此问题的修复应该使您能够简单地调整contenTinset与更改文本视图框架(通过.frame或通过约束).
编辑2
最后一想到这一点.在iOS7中,键盘是半透明的.用户应该能够看到键盘后面的内容.通过将uITextView的大小调整为位于键盘上方,这种情况永远不会发生.所以“正确”的解决方案仍然是调整文本视图底部的contenTinset,将键盘的高度添加到文本视图的可滚动区域.然后,在理想的世界中,您将调整文本视图的contentOffset,以便在键盘出现时将插入符号保持在视图中.最后,添加“修复”以在显示但是用户输入换行符时将插入符号保持在键盘上方的位置.
以上是大佬教程为你收集整理的如何让我的UITextView在iOS 7下的屏幕高度减去键盘?全部内容,希望文章能够帮你解决如何让我的UITextView在iOS 7下的屏幕高度减去键盘?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。