2013-02-19 2 views
0

У меня есть функция в моем приложении, очень похожая на приложение для сообщений. Мне нравится, как клавиатура скрывается, когда прокручивается таблица сообщений, а ваш палец пересекает интерфейс клавиатуры.iOS - UITableView Detect, когда Finger Crosses Keyboard во время прокрутки

Я хочу подражать этому поведению и задавался вопросом, был ли простой способ обнаружить это?

ответ

0

При взгляде на приложение «Сообщения» логика, когда клавиатура анимирует вниз, похоже, не связана с разделами в виде таблицы. В одном из моих потоков сообщений он начинает анимацию вниз, когда верхняя часть клавиатуры находится в середине одного из сообщений. Я думаю, что contentOffset таблицы просмотра просто отслеживается, и когда он пересекает определенную величину, клавиатура начинает анимироваться с экрана. Вы можете отслеживать contentOffset каждый раз, когда пользователь начинает перетаскивание TableView пути реализации

- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView 

и

- (void)scrollViewDidScroll:(UIScrollView *)scrollView 

метода из протокола UIScrollViewDelegate.

+0

Да, пожалуйста, ознакомьтесь с моим обновлением исходного вопроса. Я понял, что клавиатура начинает скрываться, когда ваш палец перетаскивается поверх нее, независимо от того, какие строки/разделы отображаются. – JimmyJammed

+0

Справа. Я думаю, что они делают это с помощью UITextField в виде нижнего колонтитула для раздела. Попробуйте, это работает очень хорошо. Все, что вам нужно сделать дальше - это как-то отслеживать, когда пользователь собирается коснуться верхней части представления текстовым полем. Вам нужно знать, где касание относительно просмотра нижнего колонтитула, когда отображается клавиатура. Вам, вероятно, придется создать пользовательское табличное представление, чтобы вы могли переопределить '- (void) touchhesBegan: (NSSet *) касаетсEvent: (UIEvent *) event' и' - (void) touchhesMoved: (NSSet *) затрагиваетEvent :(UIEvent *). Это интересная проблема :) –

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