【问题标题】:Difference between Buttons and onTapGestureButtons 和 onTapGesture 的区别
【发布时间】:2020-08-19 14:10:21
【问题描述】:

我对 swiftui 还是很陌生,我很好奇使用按钮显示图像或使用带有 onTapGesture 修饰符的图像进行操作,就像按钮上的操作一样。

【问题讨论】:

  • 按钮有几种可以使用的状态。如果您正在显示将被点击的图像,您可能需要查看集合视图。
  • 所以基本上它们是一样的,但是按钮有更多的功能?我正在尝试创建一个选项卡视图,因为我不知道应该使用哪个以及在哪种情况下,我使用图像作为图标,点击它们会改变视图。使用按钮好还是更好?
  • 嘿@xmetal,我建议使用 UITabBarController 并根据需要对其进行自定义。它专为您的用例而构建:developer.apple.com/documentation/uikit/uitabbarcontroller
  • 我尝试使用它,但很难根据需要自定义它...我什至无法修改 tabBar 的高度或以特定方式缩放选项卡项目,我搜索了一个很多关于那个。如果我自己制作,我可以完全控制它
  • 我强烈建议您以任何您想要的方式自定义标签栏。这里是如何自定义高度:stackoverflow.com/questions/23044218/change-uitabbar-height 这里是自定义标签栏的教程:codementor.io/@nguyentruongky/…

标签: swift xcode button swiftui


【解决方案1】:

在您描述的用例中,您可以使用其中任何一种,但仅供参考,Apple 在其 onTapGesture 文档中提供了以下指南:

如果您要创建的控件在功能上等同于按钮,请改用 ButtonStyle 创建自定义按钮。

onTapGesture 添加一个在视图识别到点击手势时执行的操作,并且可以定制以响应任意数量的点击(默认为 1)。

按钮是一种在触发时执行操作的控件,并且具有自动调整其视觉样式以匹配不同容器和上下文中的预期样式的好处。

在 iOS 和 watchOS 中,用户通过点击一个标准按钮来触发它。 在 macOS 中,用户通过单击来触发标准按钮。 在 tvOS 中,用户通过按下外部遥控器(如 Siri Remote)上的“选择”来触发标准按钮,同时专注于按钮。

有关更多信息,请参阅此处的 Apple 文档:https://developer.apple.com/documentation/swiftui/text/ontapgesture(count:perform:) https://developer.apple.com/documentation/swiftui/button

【讨论】:

    猜你喜欢
    • 2020-09-21
    • 1970-01-01
    • 2013-08-07
    • 2011-10-20
    • 2020-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多