1

我正在尝试构建一个应用程序并希望构建一个具有向内阴影效果的视图,如图所示。我想在 Android 和 iOS (SwiftUI) 中都这样做。

在此处输入图像描述

4

2 回答 2

0

目前在 SwiftUI 中,可以只对选定和非选定状态使用不同的图像。

这是执行此操作的方法演示

图像1 图2

struct TestSelectedTabs: View {
    @State var selectedTab = 1
    var body: some View {
        TabView(selection: $selectedTab){
            Text("One")
                .tabItem {
                    Image(systemName: selectedTab == 0 ? "printer.fill" : "printer")
                    Text("Print")
                }.tag(0)
            Text("Two")
                .tabItem {
                    Image(systemName: selectedTab == 1 ? "tv.fill" : "tv")
                    Text("Show")
                }.tag(1)
        }
    }
}

所以有两组图标(扁平和按下)你可以达到所需的效果。或者,当然,您可以在代码中生成具有所需“压入”效果的图像,例如使用 CoreGraphics、Layers 等,但最后它需要只是图像。

于 2020-02-21T05:42:56.377 回答
0

好吧,您可以只创建一个带有特定阴影的自定义背景,然后每当用户按下按钮时更改按钮的背景以反映阴影背景,并且由于它是自定义的,您可以根据自己的喜好进行形状和深度也喜欢。

您通常会保持图标/按钮平坦,对吗?然后当按下/选择/激活时,只需将背景更改为此,以强调它被选中。

这与上述答案中的方法几乎相似。

于 2020-02-27T09:35:48.587 回答