UITextView in a UITableViewCell smooth auto-resize shows and hides keyboard on iPad, but works on iPhone

ОБНОВЛЕНИЕ:

Кажется, что обе ссылки мертвы :( Вот ссылка с обратного пути машины:)


Вот некоторые из них:

Visual Тема смешанного цвета для темных выражений Studio 2010 :

Тема смешанных цветов для темных выражений Visual Studio 2010 http://www.nerdpad.com/wp-content/uploads/2010/04/vs2010_expression_thumb. JPG

Elite Dark:

Elite Dark

И только примечание:

Но если вы ищете цветовые схемы (не темы ), вы можете найти их здесь: studiostyl.es . Это отличный ресурс, посвященный VS темам.

17
задан Community 23 May 2017 в 09:58
поделиться

1 ответ

Вы должны вернуть NO в:

 -(BOOL) textViewShouldEndEditing:(UITextView *)textView

, если хотите постоянно показывать клавиатуру. Вы должны обрабатывать случаи, когда клавиатура должна быть скрыта, возвращая YES этой функции делегата.

edit:

Я вырыл еще немного, когда вызвал [tableView endUpdates] , он в основном делает 3 вещи:

  1. Отключает взаимодействие с пользователем на tableView
  2. Обновляет изменения ячеек
  3. Включает взаимодействие с пользователем в tableView

Разница между SDK (платформами) находится в метод [UIView setUserInteractionEnabled] . Поскольку UITableView не перезаписывает метод setUserInteractionEnabled , он вызывается из super (UIView).

iPhone, когда вызвано setUserInteractionEnabled , ищет закрытое поле _shouldResignFirstResponderWithInteractionDisabled , которое возвращает NO по умолчанию, поэтому не подает первый респондент (UITextView )

Но на iPad нет такой проверки AFAIK, поэтому он отказывается от UITextView на шаге 1 , устанавливает фокус и делает его первым отвечающим на шаг 3

По сути, textViewShouldEndEditing, который позволяет вам сохранять фокус, в соответствии с документами SDK, является вашей единственной опцией ATM.

Этот метод вызывается, когда текстовое представление просят оставить статус первого респондента. Это может произойти, когда пользователь пытается изменить фокус редактирования на другой элемент управления. Однако, прежде чем фокус действительно изменится, текстовое представление вызывает этот метод, чтобы дать вашему делегату возможность решить, следует ли ему это делать.

15
ответ дан 30 November 2019 в 13:04
поделиться