Я работаю над навигационным приложением для iPhone, которое служит двум основным целям: во-первых, для представления данных в иерархическом представлении, позволяя пользователям выполнять детализацию и в конечном итоге редактировать эти данные, и во-вторых, для всех пользователей. выполнить действие по умолчанию при нажатии на ячейку табличного представления. Теперь мне нужно предложить небольшой набор опций, привязанных к одним и тем же данным; однако оба метода didSelectRowAtIndexPath: и accessoryButtonTappedForRowAtIndexPath: методы явно используются.
Итак, мои варианты, по-видимому, заключаются в реализации метода двойного нажатия, при котором небольшой список дополнительных параметров будет представлен после (как вы уже догадались) двойного нажатия на строку таблицы; или, предпочтительно, способ постукивания и удерживания. Из того, что я могу сказать, касание и удержание похоже на путь в SDK 4.0 - что мне не очень хорошо в эту горячую минуту. Я решил пойти с опцией двойного нажатия, но у меня возникли небольшие проблемы.
Прежде всего, метод touchesBegan: withEvent: кажется не вызывается вообще; точка останова, помещенная в метод, никогда не вызывается во время работы приложения, и табличное представление реагирует точно так же, как и до того, как я вставил метод (то есть он выполняет действие по умолчанию):
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *aTouch = [touches anyObject];
if (aTouch.tapCount == 2) {
[NSObject cancelPreviousPerformRequestsWithTarget:self];
}
}
Во-вторых, мне не нужно обрабатывать одно нажатие - didSelectRowAtIndexPath: метод может отлично обрабатывать одно нажатие. Двойное прикосновение - вот что я хочу сделать. Я подозреваю, что ответ будет содержать фразу: «Вы не можете, чтобы табличное представление обрабатывало одно касание, а touchesBegan: метод обрабатывает двойное касание. Методы обработки касания должны обрабатывать все из них».
Я был бы очень признателен некоторым советам некоторых из вас, которые занимались этой проблемой. Заранее спасибо.