Я хочу сделать UITextView, которые имеют максимальную ширину и минимальную высоту. Просто как чат-пузырь в приложении «сообщение» на нашем iPhone. Я попытался использовать размерThatFits. Но это не дало мне прекрасный размер.Как ограничить ширину и высоту в UITextView?
NSString *string = @"hello everyone";
_textView = [[UITextView alloc] init];
_textView.font = [UIFont systemFontOfSize:16];
_textView.text = string;
[self.view addSubview:_textView];
CGSize size = [string sizeWithAttributes:@{NSFontAttributeName:[UIFont systemFontOfSize:16]}];
CGFloat finalWidth = MIN(250, size.width);
CGSize constraintSize = CGSizeMake(finalWidth, MAXFLOAT);
CGSize finalSize = [_textView sizeThatFits:constraintSize];
_textView.frame = CGRectMake(0, 0, finalSize.width, finalSize.height);
Я знаю, что есть что-то не так с моей code.So Интересно хороший способ правильно ограничить ширину и высоту в UITextView. Благодаря
некоторые друзья говорят мне, чтобы использовать Autolayout.Then я пытаюсь сделать it.Here мой код
[_textView mas_makeConstraints:^(MASConstraintMaker *maker){
maker.right.equalTo(self.mas_left);
maker.top.equalTo(self.mas_top);
maker.width.lessThanOrEqualTo(@(250));
maker.height.greaterThanOrEqualTo(@(40));
}];
Но это не работает, если я использую [_textView sizeToFit] Есть ли что-то не так с моими ограничениями? Я хочу, чтобы textView настроил себя в соответствии с его содержанием!
Используйте Autolayout, добавив ограничения в UITextView. Магия произойдет без написания кода. :) – Harsh
Вы должны использовать автозапуск! – Lion