现在我正在从UIKit转换到SwiftUI的过程中,UIKit中有一个原生的Close, X-Styled Button-UIButton.ButtonType.close,
,如下所示:
我想在SwiftUI中找到类似的功能,如果已经内置在SwiftUI中的话。如果苹果还没有开始构建/转换这个功能,这是可以理解的。我在苹果Map应用程序中也看到了这一点,我相信它是内置在SwiftUI中的,如下所示(面板右下角):
如果没有一个内置的按钮样式,如何去创建一个视图为这个关闭按钮,这将适应光明和黑暗模式?谢谢你这么多!
编辑:在UIKIt的故事板编辑器中,以下是我要查找的内容:
4条答案
按热度按时间z0qdvdin1#
SwiftUI不使用“按钮类型”的概念,而是可以自己构造,如
Xcode 13.4 /操作系统15.5
bjg7j2ky2#
可以使用
xmark.circle.fill
符号作为系统映像:注️:
xmark.circle.fill
和x.circle.fill
之间存在差异x9ybnkn63#
您可以使用
UIViewRepresentable
嵌入UIKitUIButton
。然后
示例:
bfhwhh0e4#
目前还不能在SwiftUI中使用包括关闭按钮在内的系统按钮类型。我已经提交FB 10380135来请求这个添加。
与此同时,你可以让一个按钮看起来像系统关闭按钮,迈克斯特恩,苹果设计传道者,在问苹果问答中指出:
模态关闭按钮使用15磅粗体的“xmark”SF符号(常规大小的符号,不是大或小的变体)和一个30× 30磅的圆圈。点击区域可能更大,因为我们通常选择的目标大小至少是44× 44磅。
还要注意,关闭按钮不会随着动态字体大小的增加/减小而改变大小。一定要确保将其辅助功能标签设置为“关闭”,并添加对大型内容查看器的支持,以便使用辅助功能文本大小的用户可以点击并按住按钮,以显示一个大的xmark符号,其下方带有“关闭”一词。
我个人建议使用
UIViewRepresentable
来添加一个真实的的关闭UIButton
按钮,而不是试图完全复制它-参见MMP 0提供的答案。