Как отличить метчик 1 от 2: Как определить какой метчик первый, как отличить первый метчик от второго?

Вопрос по метчикам

FENIX9999

Уважаемые господа, подскажите в первый раз в моей жизни приходиться резать внутреннюю резьбув металле, какого производителя метчки лучше использовать какие тонкости секреты есть в этом процессе, купил в магазине сам метчик и метчикодержатель что еще нужно докупить как-то помниться слышал что они еще бывают черновые и чистовые но продавец сказал что впервые слышет об этом и дал мне один метчик не понятно черновой он или чистовой.


С Уважением, Тимофей.

Al_By

Сверлить нужный диаметр, плюнуть на метчик- и вперёд, дорогу осилит идущий…
Не заморачиваться на условностях, не ЭВМ строим…

Zuzamod

Есть наборы из трех метчиков, проходиться сначала черновым, потом еще одним и затем самым острым. Сразу резать простым метчиком тяжелее и можно его сломать. А по фирмам не знаю, много их. Тонкостей никаких вроде нет, как на уроке труда учили: в отверстие ровно направляешь метчик, давишь и крутишь. В зависимости от того как туго идет, необходимо возвращать метчик обратно, скажем, сделал оборот и пол оборота назад.
Щас мастера еще советов надают, но практика рулит, потренируйтесь на барахле сначала.

Ashedow

Маслом смазать перед нарезанием. Диаметр отверстий указан в ГОСТ-е, в зависимости от резьбы. Наборы из нескольких метчиков сейчас встречаю редко, в основном один метчик. ничего страшного, нормально режет. Только если отверстие глубокое – время от времени выкручиваем и удаляем стружку.

fkbr

Zuzamod
Есть наборы из трех метчиков, проходиться сначала черновым, потом еще одним и затем самым острым. Сразу резать простым метчиком тяжелее и можно его сломать. А по фирмам не знаю, много их. Тонкостей никаких вроде нет, как на уроке труда учили: в отверстие ровно направляешь метчик, давишь и крутишь. В зависимости от того как туго идет, необходимо возвращать метчик обратно, скажем, сделал оборот и пол оборота назад.
меня тож на уроках труда учили, правда лет на 17 раньше Zuzamod, у нас было по два метчика, но были метчики совмещающие в себе функции “чернового” и “чистового”, у них заход более плавный, там же учили перед началом слегка смазать метчик, иногда бывает не лишним снять фасочку.

Ashedow

Первый и второй номера, на мой взгляд, востребованы скорее для глухих отверстий.

ПЫХ

Предложу использовать так называемые”механические”,они однопроходные и резьба в финале вполне достойная. Они отличаются от обычных качеством стали, они длинные и без квадрата на конце. Успехов 😛

Душманище

Диаметр оверстия = наружный диаметр резьбы – шаг резьбы(указывается на метчике или можно самому штангелем померять)

pka_ua

Когда получал первую рабочую профессию, был у нас на заводе вроде как самопальный станочек для нарезания резьбы (движок, редуктор, патрон и рычаг “вперёд-назад”. Так всегда рядом лежала пластиковая коробка, сделанная из крышки от какого-то советского разъёма. И в этой коробке лежал кусок сала. Прежде чем нарезать резьбу надо было метчик покрутить в этом куске 😊

Mastor

Диаметр оверстия = наружный диаметр резьбы – шаг резьбы(указывается на метчике

+100

А вот штангелем померить не всегда получится… 😊
Стандартные метрические резьбы до М8 можно умножать на 0,8.

Метчики для ручного нарезания резьбы, как правило, идут парами 1 и 2 номер
или три метчика в комплекте, (есть у меня такие), 1,2 и 3 номера.
Первый проход делается номером имеющим более пологий заход. Метчик надо обязательно смазать. При нарезании резьб в отверстиях с маленькими диаметрами, в вязких металлах и сталях, а особенно в глухих отверстиях, излишних усилий на метчик прикладывать не надо, как только метчик начинает пружинить надо сделать поворот назад на выкручивание и поворачивать надо немного больше чем поворачивали при нарезании, при обратном ходе метчика стружка обламывается. (Иногда в очень мелких отверстиях в вязких сталях поворот на нарезание может достигать всего, примерно, 10 градусов, затем отворот и по новой и такой извините производственный ананизьм может продолжаться достаточно долго, главное не сломать метчик в отверстии). При нарезании резьб в глухих отверстиях в какой то момент в отверстии скапливается стружка, поэтому невредно выкрутить метчик полностью и удалить скопившуюся стружку из отверстия.
При повторном вкручивании метчика в отверстие или при проходе следующим номером, очень важно попасть по резьбе, иначе срежете в отверстии все. ..
Мне лично очень нравится работать машинными метчиками. Как правило идут одним номером с длинным хвостовиком, у некоторых на конце хвостовика есть квадрат под ручной метчикодержатель. Резьба таким метчиком режется за один проход…
В начале нарезания резьбы крайне важно ровно завести метчик в отверстие.
Для этого есть специальные приспособления, коих я не имею, но я делаю так.
зажимаю метчик в сверлильный станок, кладу заготовку под него, (если крупная), а если мелкая, зажимаю в свободно перемещающиеся массивные фрейзерные тисы. Поджимая несильно рукой подачу пиноли сверлильного станка проворачиваю патрон рукой, метчик врезается в отверстие, получается ровный заход. Метчик тут же извлекается из сверлильного патрона а остальное ручками… Для нарезания наружней резьбы на цилиндрических деталях до 16 мм, зажимаю деталь в сверлильный патрон, (он у меня до 16 мм), плашку ровно в большой токарный патрон и то же самое.
Да и еще, использую наши метчики Российского производства и Советские. ..
Ну вот все основное рассказал уезжаю на охоту… 😛

Душманище

А вот штангелем померить не всегда получится…
Тут выход простой: отсчитываем 10 витков и замеряем, полученный результат делим на 10. Да,машинные метчики расчитаны на сквозные отверстия, в глухих отверстиях вторым номером дорезать приходится.

FENIX9999

Благодарю господа, за ваши ценнейшие советы, а при сверлении текстолита тоже надо смазывать маслом или когда только по металлу?


С Уважением, Тимофей.

Душманище

Можно и на сухую, но смажешь-меньше скрипу. Хотя со смазкой по текстолиту есть один минус – стружка слипается и метчик забивается быстрее.

GSR

при сверлении текстолита
По текстолиту можно сразу чистовым проходить и без смазки вообще.

——————
Не мсти детям, не учи тупых, не спорь со старшими и не прощай равных.

АЛЁША

под М6-сверлить диаметром 5 мм,
м6-5мм
м8-6,7
м10-8,5
м12-10,2
м16-14
м20-17,4(17,5)
по металлу с маслом легче режет и резьба чище…

Mastor

под М6-сверлить диаметром 5 мм,

Резьба будет прослабленной. Под стандартную М6 надо сверлить 4,8 мм как писал выше: (6*0,8=4,8) …

Ashedow

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

14771

1. сало используют в тяжелых случаях. напр. некоторые виды нержавейки, еще если метчик малого диаметра. в большинстве случаев достаточно машинного масла.
2. общее правило 1,5-2 оборота нарезаем, сдаем назад на полоборота. это что бы метчик не сломать.
3. чистовой и черновой метчик можно определить по кол-ву рисок. 1 риска черновой, 2 риски чистовой.
4. польские метчики лучше не брать. Хотя я лично использую как раз их. просто удобный набор попался и дешевый.

Katran73

Позвольте дополнить.

Вот ЗДЕСЬ хорошая страница, с таблицами.

А вообще:
Точный теоретический диаметр отверстия (внутренний диаметр резбы) под резьбу метрическую (угол 60гр.) с нормальным шагом = наружный диаметр резьбы минус шаг.

Стандартные шаги (S, мм):
М3- 0,5; М4- 0,7; М5- 0,8; М6- 1; М8- 1,25; М10- 1,5…

Диаметр сверла подбирается по таблицам с учётом обрабатываемого материала и условий резания. (Меньше, чем Dнар. -S.).

При нарезании глубоких отверстий в мягких и вязких материалах (медь, алюминий и т. п.) обязательно применение масла (СОЖ на производстве) – накапать в отверстие и на метчик, нитки рвать не будет. (для других материалов желательно, дюраль тоже рвёт – будь здоров). И резать не непрерывно (как уже говорилось), а 1-2 оборота по ходу, 0,5 оборота против хода, для измельчения стружки.
И если отв. действительно глубокое да с маслом – периодически выкручивать (осторожно) и очищать метчик и отверстие от стружки – налипает на масляную плёнку. Если нарезается набором метчиков (1-й, 2-й, 3-й) 2-й и 3-й желательно вкручивать руками (ловить нитку).
Всё особо актуально для отверстий малых диаметров (под М6 и ниже).

Метчики конической конструкции ручные (машинно-ручные) для нарезания в сквозных отверстиях, набор, как правило, из 3-х:
черновой (1-ый), получистовой (2-й), чистовой (3-й).
Имеют полный профиль резьбы и одинаковый диаметр, отличаются длиной заборной части (конуса).
Черновой (1): заборная часть = всей длине рабочей части метчика.
Получистой (2): заборная часть = половине длины рабочей части.
Чистовой (3): заборная часть = первые 2 нитки рабочей части.

Одинарные конические машинно-ручные метчики для нарезания в сквозных отверстиях имеют длину заборной части = 6 ниткам.

Метчики цилиндрической конструкции для глухих отверстий имеют короткую коническую заборную часть и в наборе отличаются диаметрами:
1-й: Dнар=Dрезьбы – h(высота нитки), заборная часть = 4-7 ниток.
2-й: Dнар=Dрезьбы – 0,6*h, заборная часть = 3-3,5 нитки.
3-й: Dнар=Dрезьбы, заборная часть = 1,5-2 нитки.

Одинарные цилиндрические машинно-ручные метчики для нарезания в глухих отверстиях имеют длину заборной части = 3 ниткам.

Наборные метчики обозначаются на хвостовике цифрами, рисками или кольцевыми канавками (соотв-но).

Это вкратце. (Сам по образованию техник-технолог по ОМР на ст. с ЧПУ).

Собс-но таблица. Для себя когда-то делал.

С уважением.

Гриня

а какую жидкость лучше использовать для латуни

черная сталь-масло
нержа-сало
люминий-вода или спирт (спирт лучше)
латунь-?
ну и титан тоже наверное сало?

Mastor

люминий-вода или спирт (спирт лучше)

😀 😀 😀
Ай-яй-яй! Этож форменное извращение, со спиртом то. (На святое можно сказать замахнулись)… 😀 😛

Гриня

святое это да, я тоже сумневался

но после того как получилось нарезать идеальную коническую 1/8 в АМг 3, пришлось святому подвинуться, тем более надо то капли.

Katran73

Originally posted by Гриня

черная сталь-масло
нержа-сало
люминий-вода или спирт (спирт лучше)
латунь-?
ну и титан тоже наверное сало?


САЛО?!! На закусь!!!

А если серьёзно:
Где-то здесь в Мастерской в темах был совет для нержи – касторовое масло.
Не парьтесь! Возьмите нормальный инструмент, подберите оптимальные режимы резания (убавьте обороты, не давите сильно), применяйте нормальное машинное масло (если хотите по-суперски: Castrol GTX Magnatec 5W40 синтетика) – и будет вам щастье! Кто доказал, что Олейна по ТЕХНИЧЕСКИМ параметрам лучше того же Кастрола?

Лирическое отступление:
Несколько лет назад на форуме mastercity. ru была тема про количество смазки в редукторах. Там был красивый пример: “отрежте ножом кусок сливочного масла, стряхните с ножа. Что-то осталось? Вот именно это и смазывет трущиеся детали.” Всё остальное количество служит для восстановления масляной плёнки на поверхности деталей.
И именно поэтому на станках при нарезании резьбы применяется НЕПРЕРЫВНАЯ подача масла в зону резания.
Смазывать спиртом? Поливать? Деталь макать? При нагреве испарится за секунды. В ванночке со спиртом? “Разбить?.. Поллитра?.. Вдребезги?.. ДА я тебя!!.. (С)”

По теме. Вы же не на каком-нибудь 2А135 резьбу режете? И деталь не от космического корабля, Rz200 на боковой поверхности нитки не надо?
Главное, что б нитки резьбы целыми были и без задиров, метчики живые остались и резьба не прослабленной была. Так?
Mastor всё нормально выше описал. Подбираете сверло по таблице (или D*0,8, или D-S), сверлите (стараясь не разбивать отверстие). Деталь в тиски. Берёте метчик N1, втыкаете в отверстие, капаете 2-3 капли масла на нитки метчика – стекает по канавкам в дырку (наберите у кого-нибудь какого-нибудь импортного синтетического 5W40 в 20-ти кубовый шприц с иголкой – для этих целей на несколько лет хватит). Поехали! Начинаем вращение, слегка давим на вороток, левой рукой (у кого как) придерживаем метчик, тут важно не колбасить его относительно оси отверстия. Врезался метчик в материал – внимательно смотрим что б “тупить” не начал, 1-2 оборота по ходу, четверть об. обратно (стружка ломается). Сделали 3-4 таких ходки – смотрим в канавки метчика, забиты? Дунули туда. Не выдувается? Проволочкой/спичкой/зубочиской прочистили (если отв. сквозное), капнули полкапли масла (ну если М10 – 2 капли). Поехали дальше, ещё 3-4 ходки… Докрутили метчик до конца, сняли вороток – метчик выпал с другой стороны.
Берём метчик N2 рукой пробуем его вкрутить (ловим нитку), поймал нитку – одел вороток, Поехали! (см выше). Не поймал – сразу воротком, но АККУРАТНО.
И т.д.
Берём метчик N3… Ну тут уж совсем просто, почти сразу на вылет.

Если отв глухое, то дуть туда есс-но не надо, 3-4 ходки – выкручиваем (не идёт – не дави, крутни в другую сторону, покачай туда-сюда), чистим метчик от стружки, из отверстия можно попытаться вытряхнуть/выцарапать, вкручиваем (см выше), поехали. ..
Опыт обязательно придёт когда-нибудь.

Уф-ф, накатал. Для новичков нормально? Подробнее, думаю, не стоит.

С уважением.

fkbr

Katran73
Смазывать спиртом? Поливать? Деталь макать? При нагреве испарится за секунды. В ванночке со спиртом?
“Тонким слоем надо! Хыыыыыы…” – (С) бородатый анекдот, ну и в процессе дышать на струмент перегаром 😊.

Katran73


Originally posted by fkbr
“Тонким слоем надо! Хыыыыыы…” – (С) бородатый анекдот, ну и в процессе дышать на струмент перегаром

Так я и говорю: сало – на закусь!

P.S. Забыл про текстолит (“советский G-10”). В обработке, в общем-то, неприхотливый материал, но при нарезании резьбы есть нюансы. Честно говоря, с маслом никогда не пробовал, так нормально получается. У него стружка – пыль, выдувать нужно, а вот лишний раз метчиком ворочать не стоит. Крутим, остановились, дунули, дальше крутим… Каждое лишнее вкручивание-выкручивание стирает нитки.
Оффтоп: лично мне на рукоятках нравится больше, чем дерево. Так кухонники себе (и не себе) накладным монтажом из него и делаю.
Пыль только от него дюже вредная: формальдегиды и прочая хрень вперемешку со стекловолокном.
Конечно, у каждого материала свои “прибабахи”.

chief

Для глухих дыр приходится “затупить” метчики, (хотя бы один, последний), чтобы резьба была как можно глубже

Mastor

Для глухих дыр приходится “затупить” метчики, (хотя бы один, последний), чтобы резьба была как можно глубже

+100

ios – Swift – Как определить разницу между одинарным и двойным нажатием

спросил

Изменено 5 лет, 11 месяцев назад

Просмотрено 2к раз

Я знаю, что есть сообщения, которые решают проблему идентификации разницы между одиночным и двойным нажатием, но все они либо устарели, либо написаны на С++. Итак, я хочу знать, как определить разницу между одинарным и двойным нажатием, потому что каждый раз, когда я дважды нажимаю, система думает, что это касание. Я установил значение numberOfTaps равным 1 для одиночного нажатия и 2 для двойного нажатия.

 отпустить нажатие: UITapGestureRecognizer = UITapGestureRecognizer(цель: я, действие: #selector(respondToTapGesture(жест:)))
    view.addGestureRecognizer (нажмите)
    tap.numberOfTapsRequired = 1
let doubleTap: UITapGestureRecognizer = UITapGestureRecognizer(цель: я, действие: #selector(respontToDoubleTapGesture(жест:)))
    view.addGestureRecognizer (двойное касание)
    doubleTap.numberOfTapsRequired = 2
 
  • iOS
  • Свифт
  • краны
1

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

 tap.require(toFail: doubleTap)
 

Проблема в том, что у вас есть два разных распознавателя, которые пытаются распознать жест.

Этот код позволит каждому из них работать:

 funcgestureRecognizer(_gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneousWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
    вернуть истину
}
 

Вы должны убедиться, что вы объявили контроллер как делегат распознавания жестов:

 class FromDB: UICollectionViewController, UICollectionViewDelegateFlowLayout, UIGestureRecognizerDelegate {
}
 

вам также необходимо потребовать, чтобы одиночное нажатие не сработало, чтобы сработало двойное нажатие:

 tap.require(toFail: doubleTap)
 

Зарегистрируйтесь или войдите в систему

Зарегистрируйтесь с помощью Google

Зарегистрироваться через Facebook

Зарегистрируйтесь, используя электронную почту и пароль

Опубликовать как гость

Электронная почта

Требуется, но никогда не отображается

Опубликовать как гость

Электронная почта

Требуется, но не отображается

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

ios — UITapGestureRecognizer — одиночное и двойное нажатие

Задавать вопрос

спросил

Изменено 4 года, 1 месяц назад

Просмотрено 109 тысяч раз

Я пытаюсь добавить 2 UITapGestureRecognizers в представление, один для одиночного нажатия и один для событий двойного нажатия. Распознаватель одиночного нажатия работает как положено (само по себе). Но я, кажется, не могу заставить работать распознаватель двойного нажатия.

Пробовали экспериментировать с такими свойствами, как: cancelsTouchesInView , delaysTouchesBegan и delaysTouchesEnded , но все равно не работает.

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

Документация предполагает, что 3 свойства, упомянутые выше, могут быть использованы для этой цели. Но я просто не уверен, какие значения должны быть установлены и на каких распознавателях (одинарных, двойных или обоих). Надеюсь, кто-то, знакомый с этим, может помочь.

Ниже приведен последний обновленный кодовый блок.

// ****** распознаватели жестов ****** - (void) addSingleAndDoubleTapGestureRecognizersToView:(UIView *)view { // одно касание UITapGestureRecognizer *singleTapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget: действие tableViewController: @selector(handleSingleTapOnView:)]; [singleTapRecognizer setNumberOfTouchesRequired: 1]; [просмотреть addGestureRecognizer: singleTapRecognizer]; // двойное нажатие UITapGestureRecognizer *doubleTapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget: действие tableViewController: @selector (handleDoubleTapOnView:)]; [doubleTapRecognizer setNumberOfTouchesRequired: 2]; [singleTapRecognizer requireGestureRecognizerToFail: doubleTapRecognizer]; [просмотреть addGestureRecognizer: doubleTapRecognizer]; } - (void)handleSingleTapOnView:(id)sender { } - (void)handleDoubleTapOnView:(id)sender { }
  • ios
  • iphone
  • uigesturerecognizer
  • uitapgesturerecognizer
4

 UITapGestureRecognizer *singleTap = [[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(doSingleTap)] autorelease];
singleTap. numberOfTapsRequired = 1;
[self.view addGestureRecognizer: singleTap];
UITapGestureRecognizer *doubleTap = [[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(doDoubleTap)] autorelease];
doubleTap.numberOfTapsRequired = 2;
[self.view addGestureRecognizer: doubleTap];
[однократное нажатие требует GestureRecognizerToFail: двойное нажатие];
 

Примечание: Если вы используете numberOfTouchesRequired , это должно быть .numberOfTouchesRequired = 1;

Для Swift

 let singleTapGesture = UITapGestureRecognizer (цель: я, действие: # selector (didPressPartButton))
singleTapGesture.numberOfTapsRequired = 1
view.addGestureRecognizer(singleTapGesture)
let doubleTapGesture = UITapGestureRecognizer (цель: я, действие: #selector (didDoubleTap))
doubleTapGesture.numberOfTapsRequired = 2
view.addGestureRecognizer(doubleTapGesture)
singleTapGesture.require(toFail: doubleTapGesture)
 
7

Решение Swift 3:

 let singleTap = UITapGestureRecognizer(target: self, action:#selector(self. singleTapAction(_:)))
singleTap.numberOfTapsRequired = 1
view.addGestureRecognizer (одно касание)
let doubleTap = UITapGestureRecognizer (цель: я, действие: # selector (self.doubleTapAction (_:)))
doubleTap.numberOfTapsRequired = 2
view.addGestureRecognizer (двойное касание)
singleTap.require(toFail: doubleTap)
 

В строке кода singleTap.require(toFail: doubleTap) мы заставляем одно касание ждать и гарантировать, что событие касания не является двойным касанием.

Необходимо использовать метод requireGestureRecognizerToFail:. Примерно так:

[singleTapRecognizer requireGestureRecognizerToFail: doubleTapRecognizer];

7

//—-во-первых, вы должны выделить жест двойного и одинарного касания——-//

 UITapGestureRecognizer* doubleTap = [[UITapGestureRecognizer alloc] initWithTarget: само действие: @selector (handleDoubleTap:)];
UITapGestureRecognizer* singleTap = [[UITapGestureRecognizer alloc] initWithTarget: само действие: @selector (handleSingleTap:)];
[singleTap requireGestureRecognizerToFail : doubleTap];
[doubleTap setDelaysTouchesBegan: YES];
[singleTap setDelaysTouchesBegan: YES];
 

//————————————–номер крана—————-//

 [двойное нажатие setNumberOfTapsRequired: 2];
[singleTap setNumberOfTapsRequired: 1];
 

//——- добавить жест двойного и одинарного нажатия на вид или кнопку——–//

 [self. view addGestureRecognizer : doubleTap];
[self.view addGestureRecognizer: singleTap];
 

Не уверен, что это именно то, что вы ищете, но я делал одиночные/двойные нажатия без распознавателей жестов. Я использую его в UITableView, поэтому я использовал этот код в методе didSelectRowAtIndexPath

 tapCount++;
    переключатель (tapCount)
    {
        случай 1: // одно касание
            [самостоятельный селектор:@селектор(singleTap:) withObject: indexPath afterDelay: 0,2];
            перерыв;
        случай 2: // двойное касание
            [NSObject cancelPreviousPerformRequestsWithTarget: self selector: @selector(singleTap:) object:indexPath];
            [самостоятельно выполнитьSelector:@selector(doubleTap:) withObject: indexPath];
            перерыв;
        по умолчанию:
            перерыв;
    }
    если (tapCount>
2) tapCount=0;

Методы singleTap и doubleTap просто недействительны с NSIndexPath в качестве параметра:

 - (void)singleTap:(NSIndexPath *)indexPath {
  //делай что хочешь одним касанием
}
- (void) doubleTap: (NSIndexPath *) indexPath {
  //делай что хочешь по двойному тапу
}
 

Надеюсь, это поможет

5

Решение для Swift 2:

 let singleTapGesture = UITapGestureRecognizer(target: self, action: #selector(handleSingleTap))
singleTapGesture. numberOfTapsRequired = 1 // Необязательно для одного нажатия
view.addGestureRecognizer(singleTapGesture)
let doubleTapGesture = UITapGestureRecognizer (цель: я, действие: #selector (handleDoubleTap))
doubleTapGesture.numberOfTapsRequired = 2
view.addGestureRecognizer(doubleTapGesture)
singleTapGesture.requireGestureRecognizerToFail(doubleTapGesture)
 

Я реализовал методы UIGestureRecognizerDelegate для обнаружения как singleTap, так и doubleTap.

Просто сделай это.

 UITapGestureRecognizer *doubleTap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(handleDoubleTapGesture:)];
    [двойное касание setDelegate:self];
    doubleTap.numberOfTapsRequired = 2;
    [self.headerView addGestureRecognizer: doubleTap];
    UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(handleSingleTapGesture:)];
    singleTap.numberOfTapsRequired = 1;
    [singleTap setDelegate:self];
    [doubleTap setDelaysTouchesBegan:YES];
    [singleTap setDelaysTouchesBegan:YES];
    [однократное нажатие требует GestureRecognizerToFail: двойное нажатие];
    [self. headerView addGestureRecognizer: singleTap];
 

Затем реализуйте эти методы делегата.

 - (BOOL) GestureRecognizer: (UIGestureRecognizer *) GestureRecognizer долженReceiveTouch: (UITouch *) touch{
    вернуть ДА;
}
- (BOOL) распознавание жестов: (UIGestureRecognizer *) распознавание жестов должно распознавать одновременно с распознаванием жестов: (UIGestureRecognizer *) другое распознавание жестов {
    вернуть ДА;
}
 

В некоторых видах есть собственные встроенные распознаватели двойного касания (например, MKMapView ). Чтобы обойти это, вам нужно будет реализовать UIGestureRecognizerDelegate метод shouldRecognizeSimultaneousWithGestureRecognizer и вернуть YES :

Сначала реализуйте двойные и одиночные распознаватели:

 // настройка распознавателей жестов
UITapGestureRecognizer* singleTapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self
                                                                                действие:@селектор(mapViewTapped:)];
singleTapRecognizer. delegate = self;
singleTapRecognizer.numberOfTapsRequired = 1;
UITapGestureRecognizer* doubleTapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self
                                                                                      action:@selector(mapViewDoubleTapped:)];
doubleTapRecognizer.delegate = сам; // это позволяет
doubleTapRecognizer.numberOfTapsRequired = 2;
[singleTapRecognizer requireGestureRecognizerToFail: doubleTapRecognizer];
 

А затем реализовать:

 #pragma mark UIGestureRecognizerDelegate
- (BOOL) распознаватель жестов: (UIGestureRecognizer *) распознаватель жестов должен распознавать одновременно с распознавателем жестов: (UIGestureRecognizer
*)otherGestureRecognizer { return YES; }
 

В отношении комментария @stanley –

Не пытайтесь использовать жесты касания для выбора строк для работы в UITableView , так как он уже имеет полную обработку касаний….

Но вы должны установить «Отмена касаний в представлении». на «НЕТ» на ваших распознавателях жестов с одним касанием, иначе он никогда не получит события касания.

0

Зарегистрируйтесь или войдите в систему

Зарегистрируйтесь с помощью Google

Зарегистрироваться через Facebook

Зарегистрируйтесь, используя электронную почту и пароль

Опубликовать как гость

Электронная почта

Требуется, но никогда не отображается

Опубликовать как гость

Электронная почта

Требуется, но не отображается

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

Автор: alexxlab

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *