swift - SwiftUI:调整弹出框以适合
问题描述
我有一个小弹出框示例,其中一个按钮触发弹出框。弹出框只包含一点 UI,在这种情况下是两个按钮,但它仍然占用大量空间,而不是像我习惯的 UIKit 那样整齐地包裹内容。如何使弹出框适合内容的大小?
iPad模拟器的截图和下面的代码:
struct ContentView: View {
@State private var showingPopupA = false
var body: some View {
HStack {
Button(action: {
self.showingPopupA.toggle()
}, label: {
Text("Button")
}).popover(isPresented: self.$showingPopupA) {
VStack {
Button(action: {
// Do something
self.showingPopupA = false
}) {
Text("Option A")
}
Button(action: {
// Do something
self.showingPopupA = false
}) {
Text("Option B")
}
}.background(Color.red)
}
}
}
}
解决方案
在 macOS 上,下面的代码将如下所示:
struct PopoverExample: View {
@State private var showingPopupA:Bool = false
var body: some View {
HStack {
Button(action: {
self.showingPopupA.toggle()
}, label: {
Text("Button")
}).popover(isPresented: self.$showingPopupA) {
VStack {
Button(action: {
// Do something
self.showingPopupA = false
}) {
Text("Option A")
}
Button(action: {
// Do something
self.showingPopupA = false
}) {
Text("Option B")
}
}.background(Color.red)
}
}
.frame( maxWidth: .infinity, maxHeight: .infinity)
}
}
项目链接
推荐阅读
- android - android推送通知不起作用appcelerator
- r - 如果扫描被转义,则使用默认值
- vba - VBA 使用 ListBox 将选择应用于模块
- c++ - 在现代 CMake 项目中归档静态依赖项
- c# - 没有 TelemetryClient.Flush() 是否存在内存影响或性能原因
- alexa - Alexa 智能家居设备或技能发现
- c# - StartNew() 是否需要异步和展开?
- javascript - Slick Slider - 使用 php 实现会导致背景图像错误
- ios - NFCCore iOS 问题
- kubernetes - Kubernetes:将配置目录保存在容器外