实例方法
simultaneous
simultaneousGesture(_:including:)
将手势附加到视图以与视图定义的手势同时处理。
声明
func simultaneousGesture<T>(
_ gesture: T,
including mask: GestureMask = .all
) -> some View where T : Gesture
参数
gesture
附加到视图的手势。
mask
控制将此手势添加到视图如何影响视图及其子视图识别的其他手势的值。默认为
SwiftUI/GestureMask/all
。
详述
当您需要以与视图现有手势相同的优先级同时定义和处理视图特定手势时,请使用此方法。下面的示例定义了一个自定义手势,该手势将消息打印到控制台并将其附加到视图的 VStack
。 VStack
内部是一个红色的心 Image
定义了自己的 TapGesture
处理程序,该处理程序还向控制台打印一条消息和一个没有自定义手势处理程序的蓝色矩形。
点击或单击 “heart” 图像会向控制台发送两条消息:一条用于图像的点击手势处理程序,另一条来自附加到封闭垂直堆栈的自定义手势处理程序。点击或单击蓝色矩形只会导致从附加到 VStack
的点击识别器向控制台发送一条消息:
struct SimultaneousGestureExample: View {
@State private var message = "Message"
let newGesture = TapGesture().onEnded {
print("Gesture on VStack.")
}
var body: some View {
VStack(spacing:25) {
Image(systemName: "heart.fill")
.resizable()
.frame(width: 75, height: 75)
.padding()
.foregroundColor(.red)
.onTapGesture {
print("Gesture on image.")
}
Rectangle()
.fill(Color.blue)
}
.simultaneousGesture(newGesture)
.frame(width: 200, height: 200)
.border(Color.purple)
}
}
可用版本
iOS 13.0+, iPadOS 13.0+, macOS 10.15+, Mac Catalyst 13.0+, tvOS 13.0+, watchOS 6.0+
相关用法
- Swift Optional symbolVariant(_:)用法及代码示例
- Swift Optional saturation(_:)用法及代码示例
- Swift Optional submitLabel(_:)用法及代码示例
- Swift Optional speechAlwaysIncludesPunctuation(_:)用法及代码示例
- Swift Optional submitScope(_:)用法及代码示例
- Swift Optional scaledToFill()用法及代码示例
- Swift Optional searchCompletion(_:)用法及代码示例
- Swift Optional safeAreaInset(edge:alignment:spacing:content:)用法及代码示例
- Swift Optional shadow(color:radius:x:y:)用法及代码示例
- Swift Optional sheet(item:onDismiss:content:)用法及代码示例
- Swift Optional scaledToFit()用法及代码示例
- Swift Optional scenePadding(_:)用法及代码示例
- Swift Optional scaleEffect(_:anchor:)用法及代码示例
- Swift Optional scaleEffect(x:y:anchor:)用法及代码示例
- Swift Optional swipeActions(edge:allowsFullSwipe:content:)用法及代码示例
- Swift Optional sheet(isPresented:onDismiss:content:)用法及代码示例
- Swift Optional popover(isPresented:attachmentAnchor:arrowEdge:content:)用法及代码示例
- Swift Optional mask(alignment:_:)用法及代码示例
- Swift Optional listSectionSeparatorTint(_:edges:)用法及代码示例
- Swift Optional badge(_:)用法及代码示例
- Swift Optional fullScreenCover(isPresented:onDismiss:content:)用法及代码示例
- Swift Optional keyboardType(_:)用法及代码示例
- Swift Optional clipShape(_:style:)用法及代码示例
- Swift Optional preferredColorScheme(_:)用法及代码示例
- Swift Optional background(_:ignoresSafeAreaEdges:)用法及代码示例
注:本文由纯净天空筛选整理自apple.com大神的英文原创作品 Optional simultaneousGesture(_:including:)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。