Что является причиной этого нежелательного содержимого Inset с UITextView в iOS 8 (нет в iOS 7)?
Я создаюUITextView
Программно, с помощью автоматического макета, в iOS 7. Примерно так:
_textView = [UITextView new];
_textView.translatesAutoresizingMaskIntoConstraints = NO;
_textView.font = [UIFont systemFontOfSize:18.0];
_textView.delegate = self;
[self.view addSubview:_textView];
В дополнение к другим ограничениям, которые я создал, у меня естьэтот для нижней части текстового представления:
_textViewBottomConstraint =
[NSLayoutConstraint constraintWithItem:_textView
attribute:NSLayoutAttributeBottom
relatedBy:NSLayoutRelationEqual
toItem:self.bottomLayoutGuide
attribute:NSLayoutAttributeTop
multiplier:1.0
constant:0.0];
[self.view addConstraint:_textViewBottomConstraint];
Так что я могу изменить ограничение, когда клавиатура показывает:
- (void)keyboardDidShow:(NSNotification*)sender
{
CGRect keyboardFrame =
[sender.userInfo[UIKeyboardFrameEndUserInfoKey] CGRectValue];
CGRect convertedFrame =
[self.view convertRect:keyboardFrame fromView:self.view.window];
_textViewBottomConstraint.constant = -convertedFrame.size.height;
[_textView layoutIfNeeded];
}
Это все работает нормально ...
проблемаЯ только что переключился на Xcode 6 и iOS 8 (поздно, я знаю) - и текст вUITextView
теперь имеет вставку сверху. Например. (Текстовый фон желтого цвета):
Что вызывает вставку? Это связано сNSTextContainer
а такжеtextContainerInset
?
NSTextContainer
а такжеtextContainerInset
правильный способ использованияUITextView
с iOS 7 и далее?Является лииметь быть сделано таким образом в iOS 8?Если да, я был бы признателен за некоторые рекомендации по программному созданиюUITextView
наряду с необходимымNSTextContainer
а такжеNSLayoutManager
; затем настройкаtextContainerInset
, (Я буду использовать автоматическую разметку, программно).
Благодарю.