2014-01-16 62 views
1

如何使UITextView從底部邊緣開始填充文本,如果高度不可更改?UITextView可以從底部開始填充文本嗎?

UPD:儘管UITextView的大小,UITextView中的文本應顯示在底部。

+2

你可以讓你的問題清楚了嗎?我想你是問像[這個](http://stackoverflow.com/questions/19065693/how-to-set-content-inset-for-uitextview-in-ios7/19065802#19065802) –

+0

如果你可以附上一個圖表或樣品你想要它會更容易回答你的問題。 –

回答

1

在你的TextView委託:

- (void)textViewDidChange:(UITextView *)textView { 
     UIEdgeInsets inset = UIEdgeInsetsZero; 
     inset.top = textView.bounds.size.height-textView.contentSize.height; 
     textView.contentInset = inset; 
    } 
0

如果我理解你正確地你想你的文本對齊到UITextView的底部。 據我所知,沒有內置的方法來做到這一點,所以你必須自己寫。 看看this question的答案,它描述了一個可能的方法。

1

這工作對我來說:

設置自己作爲UITextViewDelegate。

-(void)resizeToContent 
{ 
    if (self.alignBottomUp) 
    { 
     UIEdgeInsets inset = UIEdgeInsetsZero; 
     CGFloat height = ceilf([self sizeThatFits:self.bounds.size].height); 
     inset.top = self.bounds.size.height - height; 
     self.textContainerInset = inset; 
    } 
} 


-(void)setAlignBottomUp:(BOOL)value 
{ 
    if (value != _alignBottomUp) 
    { 
     _alignBottomUp = value; 
     [self resizeToContent]; 
    } 
} 

- (void)textViewDidChange:(UITextView *)textView 
{ 
    if (self.alignBottomUp) 
    { 
     [self resizeToContent]; 
    } 
} 

參見:UITextView doesn't update its contentSize