У меня есть UITextView с некоторым текстом. Все было хорошо с iOS 6, но теперь с iOS 7 он оставляет пустое пространство сверху, а затем помещает текст ниже середины текстового представления.
Я не устанавливал contentOffSet. Пожалуйста помоги!
ios
iphone
xcode
cocoa-touch
uitextfield
Али Суфян
источник
источник
Текущий ответ, который дал IronManGill, не является хорошим решением, потому что он не основан на понимании того, почему проблема возникает вообще.
Ответ jrturton также не самый чистый способ решить эту проблему. Вам не нужно отменять. Будь проще!
Все, что вам нужно, это установить следующее:
в методе viewDidLoad.
Ознакомьтесь с документами: https://developer.apple.com/documentation/uikit/uiviewcontroller/1621372-automaticallyadjustsscrollviewin
источник
automaticallyAdjustsScrollViewInsets
устарела. Из iOS11, используйтеcontentInsetAdjustmentBehavior
В Интерфейсном Разработчике
источник
Это сработало для меня
источник
Перейти к
Interface Builder
:view controller
который содержит вашtext view
Adjusts Scroll View Insets
собственностиисточник
Мне действительно интересно, настоящая ли это особенность… Эта автоматическая вставка на 64 пункта добавляется только тогда, когда
UIScrollView
илиUITextView
как большая глубина всех подвидов представления контроллера представления. Например, если вы добавляете представление позади (здесь я говорю о z-буфере, а не о включении представления) от представления прокрутки, эта 64-точечная вставка не добавляется автоматически.Например, здесь добавлена вставка:
В этом случае вставка не добавляется:
Мне это действительно кажется странным ... Почему ОС должна смотреть на глубину представления, чтобы решить, следует ли расширять представление?
источник
На Swift (Xcode 6)
источник
viewDidLoad
контроллере представления с текстовым представлением.automaticallyAdjustsScrollViewInsets
устарела. Из iOS11 используйтеcontentInsetAdjustmentBehavior
Вы можете удалить пустое пространство над своим
UITextView
, добавив:источник
Я решил эту проблему, установив для смещения содержимого отрицательное значение. Вот код Swift.
источник
[self.textView setContentOffset:CGPointMake(0.f, -self.topLayoutGuide.length) animated:NO];
Вы должны понимать, что это относится к панели навигации:
источник
Я попробовал следующий трюк, все получилось.
источник
Решение для Swift 4:
источник
Я уверен, что это непрофессиональное решение ... Но простая пустая метка позади текстового представления решает проблему.
источник
Это просто сработало для меня (доступно с iOS 7)
источник