Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/101.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 键盘附件视图隐藏文本_Iphone_Ios_Cocoa Touch_Uitextview - Fatal编程技术网

Iphone 键盘附件视图隐藏文本

Iphone 键盘附件视图隐藏文本,iphone,ios,cocoa-touch,uitextview,Iphone,Ios,Cocoa Touch,Uitextview,我有以下问题:我有一个标准的UITextView,一旦键盘弹出,我就会调整它的大小。我还有另一个视图,我将其动画化为视图(不是连接到键盘的标准附件视图)。问题是我不希望文本被这个视图隐藏。这是当我到达最后一行时发生的情况(橙色视图=我的自定义附件视图): 理想情况下,我希望有一个自动滚动,如果发生这种情况。但是如果我在UITextView的最后一行,我不知道如何实现这一点。另外,scrollToVisible在这种环境下不起作用,我不知道使用contentInset是否能取得任何进展 欢迎提出

我有以下问题:我有一个标准的UITextView,一旦键盘弹出,我就会调整它的大小。我还有另一个视图,我将其动画化为视图(不是连接到键盘的标准附件视图)。问题是我不希望文本被这个视图隐藏。这是当我到达最后一行时发生的情况(橙色视图=我的自定义附件视图):

理想情况下,我希望有一个自动滚动,如果发生这种情况。但是如果我在UITextView的最后一行,我不知道如何实现这一点。另外,scrollToVisible在这种环境下不起作用,我不知道使用contentInset是否能取得任何进展

欢迎提出任何建议!谢谢

编辑

我想我需要某种机制来允许

  • 如果我在最后一行输入内容,则只将文本视图扩展到附件视图正上方的行
  • 如果我没有直接编辑键盘上方的行,请将文本视图扩展到键盘
  • 这有意义吗?我想我需要的是contentInset的反面


    我只是不想将textView的大小调整到附件视图的正上方,因为它会占用屏幕空间来显示文本。

    我要做的是在
    textView中调整textView的大小,并开始编辑
    方法,以适应键盘和新添加的附件视图的上方,然后在
    textViewshouldenediting
    中关闭键盘时,将其重新调整为全屏,我要做的是在
    textViewshouldenediting
    方法中调整textview的大小,使其适合键盘上方和新添加的附件视图,然后当键盘在
    文本视图中关闭时,将其重新调整为全屏。我得到了解决方案-对不起,我想这是显而易见的,但我花了一整天的时间才弄明白:

    textOfPage.contentInset = UIEdgeInsetsMake(0, 0, 100, 0);
    

    这将偏移我的UITextView,以便最后一行永远不会隐藏。100以像素为单位,可以进行相应的调整。

    我找到了解决方案-对不起,我想这是显而易见的,但我花了一整天的时间才弄明白:

    textOfPage.contentInset = UIEdgeInsetsMake(0, 0, 100, 0);
    

    这将偏移我的UITextView,以便最后一行永远不会隐藏。100以像素为单位,可以进行相应的调整。

    事实上,使用textViewDidChangeSelection获取文本的最后一行并查找其宽度,如果宽度大于某个数字,您会自动在文本中添加换行符。至于您的第一个建议,我担心这不会有多大帮助,因为如果有更多的文本,我希望有额外的空间。假设您要编辑第25行,后面还有更多行(例如第26、27、28行)。您的建议将使我的UITextView变小,以便第26、27、28行等。如果我要编辑第25行,则不会显示。至于你的第二个建议,如果用户不希望有此输入,我不想添加换行符。我所要做的就是以某种方式剪辑可编辑的视图,但仍然显示其余的视图(如上图所示)。对不起,Radu,我自己刚刚解决了这个问题。我需要使用textOfPage.contentInset=UIEdgeInsetsMake(0,0,100,0)。。。不过,谢谢你的帮助!实际上,使用textViewDidChangeSelection获取文本的最后一行并查找其宽度,如果宽度超过某个数字,您会自动在文本中添加一个换行符吗?至于您的第一个建议,恐怕不会有多大帮助,因为如果有更多文本,我希望有额外的空间。假设您要编辑第25行,后面还有更多行(例如第26、27、28行)。您的建议将使我的UITextView变小,以便第26、27、28行等。如果我要编辑第25行,则不会显示。至于你的第二个建议,如果用户不希望有此输入,我不想添加换行符。我所要做的就是以某种方式剪辑可编辑的视图,但仍然显示其余的视图(如上图所示)。对不起,Radu,我自己刚刚解决了这个问题。我需要使用textOfPage.contentInset=UIEdgeInsetsMake(0,0,100,0)。。。不过,谢谢你的帮助!