Я тоже с этим боролся, потому что в моем UITableViewCell
контроле было запрещено использование свойства userInteractionEnabled
. У меня есть статическая таблица с 3 ячейками для настроек, 2 с датами, 1 с переключателем вкл / выкл. После игры в Storyboard / IB мне удалось сделать нижнюю одну невыбираемой, но при нажатии на нее выбор из одной из верхних строк исчезает. Вот WIP-изображение с моими настройками UITableView:
Если коснуться 3-го ряда, то вообще ничего не происходит, выбор останется на втором ряду. Функциональность практически является копией экрана выбора времени добавления приложения Apple Calendar.
Код на удивление совместим, вплоть до IOS2 = /:
- (NSIndexPath *)tableView: (UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath.row == 2) {
return nil;
}
return indexPath;
}
Это работает в сочетании с установкой стиля выделения на none, поэтому ячейка не мерцает при событиях касания
Попробуйте и отмените выбор опции:
Preferences / Java / Editor / Smart caret positioning in Java names
И посмотрите, не улучшает ли это пользовательский опыт в плане позиционирования курсора.
Если это , а не Java , у вас есть похожая опция в:
Preferences / General / Editors / Text Editors / Smart caret positioning at line start and end
Обычно она выбирается, то есть если курсор все еще останавливается на каждом слове, что может означать другое настройка для определенного языка переопределяет его.