2009-10-17 92 views
1

当我开始在我的viewcontroller的默认textView中输入文本时,它不会进入文本区域的底部。它留出了2个多行文本的空间,然后开始滚动。 我希望它在我开始超越最后一行时开始滚动。iPhone UITextView在底部留下2行的空间

我尝试了一切,我不知道我能做什么? 任何任何想法?

回答

1

由于UITextView是UIScrollView的子类,请查看UIScrollVIew的属性,如contentInset和其他属性,以查看它们是否可能会在框架/边界和内部内容之间创建间隙。

1

只是增加了什么mahboudz已经说过。以下是一些示例代码,可以调整以获得所需内容:

UIEdgeInsets contentInset = notes.contentInset; 
    contentInset.bottom = 10.0; 
    notes.contentInset = contentInset; 

此示例中的注释是UITextView。

1

除了什么mahboudz,亚伦说,我可以证实,UITextView的做一些contentInset添加到了谷底,所以我把下面的代码里面textView:shouldChangeTextInRange:replacementText:UITextViewDelegate

textView.contentInset = UIEdgeInsetsMake(0, 0, 5, 0); 
+0

谢谢!这对我有效。 – ma11hew28 2010-07-23 06:34:35

+0

我在这里使用这种技术和Aaron的:http://github.com/acani/acani-chat/blob/master/Lovers/Classes/ChatViewController.m 它现在自动更好地自动滚动,但它仍然将contentInset添加到底部当你到达第三线时。任何想法如何防止呢?运行它并检查控制台。 – ma11hew28 2010-07-25 08:58:20

+0

如果您实施了正确的委托方法,则应在每次textView内容更改时设置contentInset。在此方法中NSLog textView contentInset以查看它是否被正确设置。 – samvermette 2010-07-26 03:43:39

0

当从笔尖移动代码以编程方式设置它,我遇到了一个类似的问题 - 无论插入点在哪里,它都被滚动到视图外。我最终发现,当我以编程方式创建它时,我的UITextView有一个32像素的底部插图,尽管我不知道为什么。所以我通过在创建文本视图时设置contentInset来修复它:

textView.contentInset = UIEdgeInsetsMake(0, 0, 0, 0);