2014-01-16 2 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

Смежные вопросы