Я пишу простое приложение Mines, чтобы помочь мне узнать SwiftUI. Поэтому я хочу, чтобы первичный щелчок (обычно ЛКМ) «копал» (показывает, есть ли там мина), и вторичный щелчок (обычно юань), чтобы установить флаг.
У меня копание работает! Но я не могу понять, как разместить флаг, потому что я не могу понять, как обнаружить вторичный щелчок.
BoardSquareView(
style: self.style(for: square),
model: square
)
.gesture(TapGesture().modifiers(.control).onEnded(self.handleUserDidAltTap(square)))
.gesture(TapGesture().onEnded(self.handleUserDidTap(square)))
Как я подразумевал ранее, функция, возвращаемая функцией, handleUserDidTap
вызывается правильно при щелчке, но функция, возвращаемая функцией , handleUserDidAltTap
вызывается только тогда, когда я удерживаю клавишу «Control». Это имеет смысл, потому что это то, что говорит код ... но я не вижу API, который мог бы заставить его регистрировать вторичные клики, поэтому я не знаю, что еще делать.
Я также попробовал это, но поведение казалось идентичным:
BoardSquareView(
style: self.style(for: square),
model: square
)
.gesture(TapGesture().modifiers(.control).onEnded(self.handleUserDidAltTap(square)))
.onTapGesture(self.handleUserDidTap(square))
.onTapGesture()
проверить это.
.gesture(TapGesture().onEnded(.......))