当我开始在我的viewcontroller的默认textView中输入文本时,它不会进入文本区域的底部。它留出了2个多行文本的空间,然后开始滚动。 我希望它在我开始超越最后一行时开始滚动。iPhone UITextView在底部留下2行的空间
我尝试了一切,我不知道我能做什么? 任何任何想法?
当我开始在我的viewcontroller的默认textView中输入文本时,它不会进入文本区域的底部。它留出了2个多行文本的空间,然后开始滚动。 我希望它在我开始超越最后一行时开始滚动。iPhone UITextView在底部留下2行的空间
我尝试了一切,我不知道我能做什么? 任何任何想法?
由于UITextView是UIScrollView的子类,请查看UIScrollVIew的属性,如contentInset和其他属性,以查看它们是否可能会在框架/边界和内部内容之间创建间隙。
只是增加了什么mahboudz已经说过。以下是一些示例代码,可以调整以获得所需内容:
UIEdgeInsets contentInset = notes.contentInset;
contentInset.bottom = 10.0;
notes.contentInset = contentInset;
此示例中的注释是UITextView。
除了什么mahboudz,亚伦说,我可以证实,UITextView的做一些contentInset
添加到了谷底,所以我把下面的代码里面textView:shouldChangeTextInRange:replacementText:
的UITextViewDelegate
textView.contentInset = UIEdgeInsetsMake(0, 0, 5, 0);
当从笔尖移动代码以编程方式设置它,我遇到了一个类似的问题 - 无论插入点在哪里,它都被滚动到视图外。我最终发现,当我以编程方式创建它时,我的UITextView有一个32像素的底部插图,尽管我不知道为什么。所以我通过在创建文本视图时设置contentInset来修复它:
textView.contentInset = UIEdgeInsetsMake(0, 0, 0, 0);
谢谢!这对我有效。 – ma11hew28 2010-07-23 06:34:35
我在这里使用这种技术和Aaron的:http://github.com/acani/acani-chat/blob/master/Lovers/Classes/ChatViewController.m 它现在自动更好地自动滚动,但它仍然将contentInset添加到底部当你到达第三线时。任何想法如何防止呢?运行它并检查控制台。 – ma11hew28 2010-07-25 08:58:20
如果您实施了正确的委托方法,则应在每次textView内容更改时设置contentInset。在此方法中NSLog textView contentInset以查看它是否被正确设置。 – samvermette 2010-07-26 03:43:39