2012-12-10 40 views
1

我是notes.app喜欢的应用程序。我设置UITextView的contentInset为隐藏的UItextView文本

myTextView.contentInset = UIEdgeInsetsMake(0, 25, 0, -25); 
myTextView.contentSize = CGSizeMake(295, myTextView.contentSize.height); 

但这似乎并不像我预期的那样工作。两个字符被隐藏。

我得到这个got this

,但如果我设置

myTextView.contentInset = UIEdgeInsetsMake(0, 25, 0, 0); 
myTextView.contentSize = CGSizeMake(295, myTextView.contentSize.height); 

我得到的实际文本

required

请帮助。

回答

0

你可以请尝试以下吗?

myTextView.contentInset = UIEdgeInsetsMake(0, 25, 0, 25); 
myTextView.contentSize = CGSizeMake(295, myTextView.contentSize.height); 
+0

我不想水平滚动。如果我设置这些值。 textview开始水平滚动。 – fibnochi

0

苹果的讨论 here

“ 边缘插入值应用于矩形以缩小或扩大由该矩形表示的区域。通常,在视图布局过程中使用边缘插入来修改视图的框架,正值会导致框架插入(或缩水)按照指定的量。负值导致由指定的金额开始帧(或扩展)。 “ 你可以这样做UIEdgeInsetsMake(0,25,0,25

+0

我不想水平滚动。如果我设置这些值。 textview开始水平滚动。 – fibnochi

0

试试这个代码:)

myTextView.contentInset = UIEdgeInsetsMake(0, 25, 0, -25); 
myTextView.contentSize = CGSizeMake(270, myTextView.contentSize.height); 

这可能会帮助你:)

+0

nope。同样的问题。字符不显示。 – fibnochi

1

fibnochi你可以使用不同的方法来做到这一点。我在我的应用程序的一个使用这一点,它是工作的罚款

所有你需要得到的UITextView的大小,将携带的所有数据,为此,你需要使用NSString类委托函数​​首先

NSString* str = @"Your Entire string will come here"; 

CGSize size = [str sizeWithFont:[UIFont systemFontOfSize:17.0] constrainedToSize:CGSize(295, any large digit for maximum height say 10000) lineBreakMode:UILineBreakModeWordWrap]; 

textView.contentSize = size; 

这会解决你的问题吗?请让我知道

+1

不是为我工作:( – fibnochi

+0

Fibnaochi你还需要给你的UITextView字体大小 [TextView的setfont程序:[UIFont systemFontSize:17]; 希望这对您 –

+0

我给它一个自定义的字体将工作和有计算大小使用该字体。现在我已经减少了水平线的垂直距离,因此UITextView的缺省值(8,8)插入被保留。虽然它正在工作,但我想回答。 – fibnochi