2011-10-09 58 views
1

我有以下问题:我有一个标准的UITextView,我弹出键盘后调整大小。我还看到了另一个视图,我将其视为动画视图(而不是附属于键盘的标准附件视图)。问题是我不希望文本被这个视图隐藏。这是当我到达最后一行(橙色视图=我的自定义配件视图)会发生什么:键盘配件视图隐藏文字

enter image description here

理想情况下,我想有一个自动滚动应这种情况发生。但我不知道如何实现这一点,如果我在UITextView的最后一行。另外,scrollToVisible在这种情况下不起作用,我不知道我是否能够使用contentInset获得任何地方。

欢迎任何建议!谢谢。

编辑

我想我需要某种机制将允许以

  1. 做出的TextView只扩大到行权附属视图上面,如果我是在进入事最后一行
  2. 如果我不是直接在键盘上编辑LINE,那么textview会展开到键盘。

这有道理吗?我想,我需要的是contentInset的对立面。

我只是不想调整textView的大小,只是在配件视图的上方,因为它带走了屏幕空间来显示文本。

+0

不错的图片+1 – Coffee

回答

1

被解雇,我得到了解决方案 - 对不起,我想这是显而易见的,但我花了整整一天来弄明白:

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

这将抵消我的UITextView使最后一行就不会被挡住。 100以像素为单位,并可以相应调整。

0

我会做的是调整的TextView在textViewShouldBeginEditing方法,以适应键盘和新添加的附件鉴于以上,然后调整回全屏幕时,键盘textViewShouldEndEditing

+0

实际上,如何获取文本的最后一行并使用textViewDidChangeSelection查找其宽度,并且如果它比一定数字更宽,则会自动将新行字符附加到文本中? –

+0

至于你的第一个建议,恐怕它不会有什么帮助,因为如果有更多的文本,我想有额外的空间。想象一下,你想编辑第25行,并且还有更多行(例如第26,27,28行)。你的建议会使我的UITextView更小,使行26,27,28etc。如果我要编辑第25行,将不会显示。 –

+0

至于你的第二个建议,如果用户不想要这个输入,我真的不想追加换行符。我想要的是以某种方式剪辑可编辑的视图,但仍显示其余部分(如上图所示)。 –