有没有一种方法可以使用SwiftUI显示HStack
,就像一个小吃店消息,在(n)秒后消失?
我有下面的结构体,它是我的消息的容器:
struct MessageBuilder<Content>: View where Content: View {
let content: () -> Content
init(@ViewBuilder content: @escaping () -> Content) {
self.content = content
}
var body: some View {
content()
}
}
字符串
我调用MessageBuilder
结构体如下:
MessageBuilder {
HStack {
Image("MyImage")
Text("Some Message")
}
}
型
我有两个问题
(1)我如何在屏幕顶部显示它,然后自动关闭它(如SwiftMessages)?
(2)我如何编写一个 Package 器函数,在任何SwiftUI View
上显示消息,例如。在基于Storyboard
的项目中,我们会传递类似topViewController或rootViewController
的东西,以便在它上面显示UIView
。
2条答案
按热度按时间yr9zkbsy1#
您可以使用
ViewModifier
创建banner视图,然后在SwiftUI中将其作为修饰符调用。在修改器中使用ZStack在内容顶部呈现横幅。下面是一个简单的示例,用于创建一个横幅并显示在视图的顶部在视图中,您可以使用
.banner(data: $bannerData, show: $showBanner)
来显示横幅字符串
7nbnzgx92#
我已经创建了下面的实用程序,易于使用,并支持所有呈现方向和动作按钮:
https://github.com/indrajitv/ICToastMessage
用途:
字符串