问题标签 [swiftui-ontapgesture]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
33 浏览

swiftui - 如何在 SwiftUI 中使用 .onTapGesture 在来自两个不同 api(没有 Button\TextField)的两个列表中使用 ScrollViewReader?

我有一个项目,其中两个不同银行的列表显示货币汇率。我希望当我在第一个列表中选择货币时,第二个列表将自动滚动到相同的货币。我看到了带有按钮的教程,但这不是我需要的。我想使用 onTapGesture,但我不知道如何以正确的方式参与它。ExchangeRatesPB(ccy) 和 ExchangeRatesNBU(cc) 有一些货币的简称:“USD”、“EUR”、“RUR”。无论如何感谢您的帮助。

0 投票
0 回答
36 浏览

swiftui - 覆盖 ZStack 中的 WKWebView 的透明视图以检测 tapGesture 和 longPress 手势

我的 SwiftUI 应用程序具有 WebView 列表。

WebView 称为 ItemWebView,它是 WKWebView 对 SwiftUI 视图的改编(提供创建此类视图的教程或答案)。

我尝试了许多可能的解决方案,包括 onTapGesture、onLongPressGesture、simultaneousGesture、on Button 或 WebView 本身,或者 Stack Views 和 Spacers。

那种工作的是

它适用于大于下限的不透明度值。我不知道确切的限制,但 0.1 有效,而 0.01 或 0.0 无效,即 WebView 完全可见且 Text 是透明的,但鼠标事件没有以正确的方式触发。

我可以在 iOS 模拟器上测试它。

我的意思是必须检测两种手势,点击和长按,但以前的解决方案只适用于其中一个,或者让用户通过长按选择 WebView 内的文本,尽管 pointerEvents='none' 在HTML。

我想在 WebView 顶部(在 ZStack 中)有一个完全透明的视图,与 WebView 的大小相同,以替换您在上面示例中看到的文本,以检测到两个手势。

0 投票
0 回答
47 浏览

swift - Swift 代码仅在不应该运行时运行,即使它被封装在 if 语句中

抱歉这个愚蠢的问题,我正在尝试编写一个 SwiftUI 游戏,当用户在轮到他们时点击屏幕时显示“X”,如果不是轮到用户则显示“O”。这是我的代码中给我带来问题的部分(我已经声明了我在代码的另一部分中使用的所有变量,我不会在这里发送,因为它非常没用):

它似乎只是在玩家点击后才让设备标记方格,即使不是轮到他们。我正在尝试找到一种解决方案,让设备在轮到它时标记一个随机正方形(总共有 9 个)。

0 投票
1 回答
45 浏览

image - 我将如何包装图像 url 的字幕,以便它通向另一个屏幕?

我试图让用户单击图片并允许他们获取有关该图像的信息,我将如何处理?我正在考虑将字幕(带有图像 url)包装在手势检测器中,但我遇到了一些错误,所以我想知道如何解决这个错误。谢谢

0 投票
2 回答
47 浏览

swiftui - SwiftUI 图像没有改变

我正在使用 VIPER 架构使用 SwiftUI 编写我的项目,我遇到了调用 .onTapGesture 后我的图像没有更新的问题。以下是与此功能相关的代码块:

模型:

交互者:

主持人:

看法:

结果是看法

但是当我点击星号按钮时,它会打印“现在是最喜欢的/现在不是最喜欢的”,但图像不会改变。提前致谢!

0 投票
2 回答
112 浏览

ios - SwiftUI:点击手势切换视图

我在使用 XCode 13.2 的项目中有以下简化代码。预期的功能是有 2 个选项卡(Tab1Tab2),用户可以点击屏幕Tab2以将背景从红色切换为绿色。

但是,当Tab2单击 时,屏幕会显示选项卡 1,而不是Tab2更改后的颜色。我想知道为什么应用程序会Tab1Tab2被点击时进入。

没有使用户转到的 NavigationLinks 或操作Tab1。我唯一的想法是单击时应用程序可能正在重建Tab2,这就是为什么它会返回到第一个选项卡?如果是这样,有什么好的解决方法吗?

注意:颜色仍然会改变Tab2,但在应用程序切换到之前不会Tab1

0 投票
0 回答
80 浏览

swiftui - SwiftUI .onTapGesture does not work until list is scrolled

I have a Textfield used to name doorways. You tap the textfield and a list is unfolded below with a list of common room names. I can't select an item from the list until after I scroll the list.

Here is my code:

}

So if I tap the text field, the list of names unfolds, and if I start entering a name I can tap a filtered name. But if I don't start typing a name, I can't select an item from the list until I scroll the list.

The .onTapGesture block in the showAutoRoomNames block does not get hit until after I scroll, I don't know why.

Thanks for any pointers.

0 投票
0 回答
85 浏览

core-data - swiftUI - 如何将项目的核心数据值从 NavigationLink 中的 ForEach 列表传递到详细信息视图

我只是不知道如何将项目的核心数据值从 NavigationLink 中的 ForEach 列表传递到详细信息视图。这是出现错误的代码:“无法将'FetchedResults.Element'(又名'FileEnt')类型的值转换为预期的参数类型'FileViewModel'”

FileViewModel 用于添加、编辑和详细信息视图。这是该问题的简化版本:

文件详情:

修改帖子以便于理解。感谢您的任何建议。

0 投票
1 回答
18 浏览

swiftui - ScollView 中的 SwifUI onTapGesture 并不总是检测到点击

我对具有onTapGesture并放置在 ScollView 内的视图有疑问。此 onTapGesture 并不总是对轻击手势做出反应。我需要准确地挖掘这样的观点。好像和 ScrollView 拖拽有冲突?

我试过了

视图添加了 contentShape(Rectangle())

它有时工作正常有时不行。在模拟上它大部分时间都可以正常工作,在物理设备上则更糟。

0 投票
1 回答
24 浏览

swiftui - 将 NavigationLink 重构为 LongPressGesture 的按钮

我正在尝试为此组列表添加 .onlongpressgesture 选项。但是,它似乎不起作用,我认为它可以在 Button 上运行。我曾尝试应用“.onTapGesture”和“.onLongPressGesture”,但没有效果。

有没有办法可以将下面的代码从 NavigationLink 转换为点击时具有相同目的地的按钮,以及长按时的附加菜单(称为“OptionsmenuView”)?

导航链接:

选项菜单视图:

我感谢任何形式的建议。提前致谢。