swiftui - SwiftUI 弹出框背景颜色
问题描述
UIPopoverPresentationController
使用 UIKit,我可以使用's自定义弹出框的背景颜色backgroundColor
。
这将改变包括箭头在内的颜色。
如何使用 SwiftUI 完成此任务?当我更改弹出内容的背景颜色时,它不包括箭头:
解决方案
您可以使用.scaleEffect(…)
使您的背景视图占用更多空间。当它大于弹出框的内容时,它将填充箭头。
struct ContentView: View {
@State var popoverVisible = false
var body: some View {
VStack {
Button("Open Popover") {
self.popoverVisible = true
}
.popover(isPresented: $popoverVisible) {
ZStack {
// Scaled-up background
Color.blue
.scaleEffect(1.5)
Text("Hello world")
.foregroundColor(.white)
.padding()
}
}
}
}
}
推荐阅读
- php - 在 php:7.4-fpm 映像上安装 PHP-zip
- python - cursor.execute() 通过 python dbapi 2.0 生成的实际 SQL 是什么?
- typescript - pdf-lib - 确保文本保留在页面上(使用换行和缩小尺寸)
- typescript - 在泛型函数中按名称调用方法
- vb.net - 从 2.0 迁移时 .Net Standard 2.1 上的 VB.NET 库中断 - TryParse 上请求的操作不可用
- node.js - 在 nodejs 中执行下一次迭代之前等待 API 返回其响应
- flutter - InitState 在开始时未执行
- java - javafx中的线程
- sql - SQL - 根据 2 个日期之间的天数从 1 个记录创建多个记录
- python - 在 conda 虚拟环境中以 pip 兼容格式创建 requirements.txt