UITableView не отвечают на некоторые прикосновения во время прокрутки

Когда tableViewпрокрутка с высокой скоростью, и пользователь пытается остановить его на ощупь, tableViewпродолжает прокрутку. И пользователь может остановить прокрутку tableViewтолько после двух или трех прикосновений. Если скорость tableViewпрокрутки низкая, tableViewотвечать на прикосновения хорошо.

TableView отображает ячейки с большим количеством подвидов, и я локализовал проблему на одном представлении.
Если я установил problemView.userInteractionEnabled = NO, прокрутка работает хорошо. Чтобы установить userInteractionEnabled = NOдля всех подвидовproblemView, но не дляproblemView, не помогайте.

Здесь изображение diplaying cell, problemViewкартинка с красной рамкой.

Отображение ячейки

Может кто-то дать совет, как решить проблему?

3 ответа

  1. Есть несколько возможностей:

    Пользовательское представление или одно из его супервизоров имеет значение userInteractionEnabled NO.

    Существует другое представление поверх пользовательского представления или поверх представления таблицы в пользовательском представлении.

    Пользовательское представление, внутри которого находится табличное представление, меньше табличного представления (при clipsToBounds=NO можно видеть подвида, который выходит за пределы родительского представления, но обычно не взаимодействует с ним). Или то же самое для другого представления в стеке.

    Пользовательское представление (или одно из его супервизоров) переопределяет pointInside:withEvent: или hitTest:withEvent: неправильно.

  2. Если вы используете NSTimer внутри UITableViewCell, то я испытал аномальные действия, как вы обсуждали. В этом случае необходимо заменить неявно запланированный таймер на явно запланированный таймер.