问题标签 [swiftui-button]
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.
ios - 如何为同一个 UIButton 分配不同的操作?
第一次单击按钮时,按钮的标题将从“添加到购物车”更改为“前往购物车”。并且从下一次单击按钮将导航到下一个屏幕(购物车页面)[就像 Flipkart 一样]。
这是我的一段代码:
我可以更改按钮的标题。但是,每当我第 n 次单击该按钮时,产品就会被添加到购物车中,屏幕无法导航。
如何解决这个问题?
更新..
这就是我试图存储“转到购物车”状态的方式。但不工作..请建议!
swiftui - 按下时如何获取按钮的默认背景颜色?
如何获得 a 的默认突出显示颜色Button
?
例如,当我点击下面代码呈现的按钮时,行背景颜色变为浅灰色,特别是红色:209、绿色:209 和蓝色:214。但我想知道如何获取该颜色的值以编程方式,无需硬编码,以防 Apple 决定在以后的版本中更改它,或者其他什么。
ios - SwiftUI 中令人困惑的按钮操作
这是我正在开发的正在运行的应用程序中的一些 SwiftUI 代码:
我的问题是关于长按按钮时执行的代码块与进行简单点击时执行的代码块之间的关系。我首先注意到,当长按时,动作(对于简单的点击)也同时执行。虽然我不认为这是应该的,但我做了一个变通办法让事情按我的方式进行。
最近(在迁移到 iOS 15 之后,虽然我不是 100% 确定这是原因),但我注意到长按时并不总是执行点击操作。
谁能准确解释这是如何工作的?
swiftui - 如何在自定义 SwiftUI 视图中设置文本字段和按钮
我正在尝试将我的 openweathermap 应用程序中的文本字段和按钮配置为在其自己的视图中,而不是在主要内容视图中。在 TextFieldView 中,按钮的操作设置为调用 API 响应。然后,来自响应的天气数据被填充到基于工作表的 DetailView 中,该 DetailView 由 TextFieldView 中的按钮触发。我在工作表中配置了 ForEach 方法,以返回添加到 WeatherModel 数组的最后一个城市(从技术上讲,这将是输入到文本字段中的最新城市),然后使用该城市的天气数据填充基于工作表的 DetailView。以前,当我在 ContentView 中设置包含文本字段、按钮和工作表控件的 HStack 时,工作表会正确显示刚刚输入到文本字段中的城市的天气。将这些项目移动到单独的 TextFieldView 后,ForEach 方法似乎已停止工作。相反,在文本字段中输入城市名称后返回的天气信息显示错误计数。例如,如果我在文本字段中输入“London”,工作表中的 DetailView 将完全空白。如果我随后输入“Rome”作为下一个条目,工作表中的 DetailView 将显示上一个“London”条目的天气信息。在文本字段中输入“巴黎”会显示“罗马”的天气信息,依此类推... 工作表中的 DetailView 完全空白。如果我随后输入“Rome”作为下一个条目,工作表中的 DetailView 将显示上一个“London”条目的天气信息。在文本字段中输入“巴黎”会显示“罗马”的天气信息,依此类推... 工作表中的 DetailView 完全空白。如果我随后输入“Rome”作为下一个条目,工作表中的 DetailView 将显示上一个“London”条目的天气信息。在文本字段中输入“巴黎”会显示“罗马”的天气信息,依此类推...
总而言之,在我将整个文本字段和按钮功能移动到单独的视图后,工作表中的 ForEach 方法停止正常工作。知道为什么我描述的问题会发生吗?
这是我的代码:
内容视图
文本字段视图
详细视图
视图模型
模型
swift - SwiftUI - 自定义集合视图中的按钮不可完全点击
我有一组按钮要显示给用户,我使用 CollectionView 来对齐按钮。每个按钮都是一个带有 Image 和 Text 组件的 Vstack。点击仅在图像上是反应性的,而不是在文本和周围的填充空间上。
我正在寻求解决这个问题,使其在整个按钮上都具有反应性。我找到了建议
- 将 ContentShape 设置为矩形,但它不起作用
- 使用 Hstack 在文本的左侧和右侧插入空格,但这也不起作用。
示例代码:工具栏项:
上面的 ToolBarItem 放置在 Collection 视图(我创建的自定义对象)中,用于所需的多个项目。参考附件,点击仅发生在绿色标记包围的图像上。
有没有人有类似的问题?任何输入表示赞赏。
swiftui - 有没有办法在自定义 SwiftUI ButtonStyle 中设置字体跟踪(即间距)?
Text
View
在 SwiftUI 中,您可以使用tracking
View 修饰符在 a 上设置字体跟踪(字母之间的间距) :
如果您有 aButton
并应用您的自定义ButtonStyle
,则可以对按钮的样式进行各种修改,但由于configuration.label
不是 but 的实例Text
,ButtonStyleConfiguration.Label
我无法直接访问 apply tracking
。有没有办法做到这一点而不必直接在Button
's上设置它label
View
?这似乎是你应该能够做的事情,因为它是与风格相关的事情,但我不知道如何完成它。
ViewModifier 更改字体和跟踪外观〜相关但没有相关答案。
ios - SwiftUI 工作表在任何地方点击时呈现
我创建了@StateObject
一个显示登录页面的位置:
并且有一个像这样的 Vstack 里面的按钮
问题是可点击区域现在已经扩散到了整个屏幕。那就是当我点击屏幕中的所有其他元素(屏幕中几乎所有地方)而不是那个按钮区域时,我得到了登录视图。
对此有什么解决方案并仅将按钮操作限制在该按钮周围吗?