我正在尝试在 SwiftUI 中实现 TabView,它与屏幕背景具有相同的颜色,但上面还有一个阴影,如下图所示:

到目前为止我已经能够正确显示颜色,但我不知道如何添加阴影。这是我的代码:
struct ContentView: View {
init() {
let appearance = UITabBarAppearance()
appearance.configureWithTransparentBackground()
UITabBar.appearance().standardAppearance = appearance
}
var body: some View {
TabView {
Text("First View")
.tabItem {
Image(systemName: "square.and.arrow.down")
Text("First")
}
Text("Second View")
.tabItem {
Image(systemName: "square.and.arrow.up")
Text("Second")
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
有谁知道如何做到这一点?我将不胜感激你的帮助:)
我正在尝试使用 Flutter 实现自定义导航抽屉。我想在抽屉底部附加注销选项。问题是注销选项上方的元素数量未知(从 3 到 17)。
因此,如果这些小部件占据抽屉一半的空间,则注销选项将位于底部,如果它们太多而您必须滚动才能看到它们,那么注销选项将只是最后的。
我也试图给前两个选项一个绿色的背景颜色。你会推荐我哪个小部件树?我想到了ListView小部件,它将小部件列表作为构造函数中的参数。
因此我可以解决前两项的不同背景颜色。但我仍然无法弄清楚如何将注销选项附加到底部。在这种情况下,它位于抽屉的底部,但也有可能发生,其他选项将大于屏幕尺寸,在这种情况下,它应该放在整个列表的底部。
编辑:我已经为问题添加了一个设计。注销选项是一种称为 Odhlášení 的选项。在这种情况下,它位于抽屉的底部,但也有可能发生,其他选项将大于屏幕尺寸,在这种情况下,它应该放在整个列表的底部。
我尝试在我的 flutter 应用程序中匹配包含确切单词“world”的单词和句子。我认为最好的方法是使用单词边界。我的正则表达式如下所示:
String str = "world";
var regexp = RegExp("\b($str)\b", caseSensitive: false);
Run Code Online (Sandbox Code Playgroud)
但这不起作用。这是输出:
regexp.hasMatch("Hello World"); //false
regexp.hasMatch("World"); //false
regexp.hasMatch("worlds"); //false as expected
Run Code Online (Sandbox Code Playgroud)
\b 在 Dart 中不起作用吗?有谁知道如何实现所需的行为?我找不到任何有关此的信息。
谢谢。