小编The*_*anu的帖子

Tabview 索引在白色背景下不起作用

我正在尝试使用名为 TabView 的 iOS14 功能。

我正在尝试创建一个轮播方面。一切正常,除了索引指示器没有显示(图像中的那 3 个点)。在与白色不同的背景上,会出现点,但如果背景是白色,则不会显示点。我期待看到它们呈某种灰色。

你知道这件事的根源是什么吗?我试图找到一种不使用的替代方案,".indexViewStyle(PageIndexViewStyle(backgroundDisplayMode: .always))"因为它会给点添加奇怪的颜色背景。

import SwiftUI

struct ContentView: View {
    var body: some View {
      SwiftUI.TabView {
                Text("test1")
                Text("test2")
                Text("test3")
                Text("test4")
            }
            .frame(width: UIScreen.main.bounds.width, height: 100)
            .tabViewStyle(PageTabViewStyle(indexDisplayMode: .automatic))
    }
}
Run Code Online (Sandbox Code Playgroud)

这是它在红色背景上的样子(在白色上什么也没有):

在此输入图像描述

indexing styles tabview swift

12
推荐指数
1
解决办法
1102
查看次数

SwiftUI ActionSheet 每个动作的不同颜色

我有一个关于 SwiftUI 中的 Actionsheet 的问题。我想创建一个带有 2 个选项的 ActionSheet:删除和取消。“删除”按钮为红色,“取消”按钮为绿色。

下面是一个代码示例:

Button(action: {
                    print("Delete button pressed")
                    self.showingActionSheet = true
                }){
                    Text("Go to actions")
                        .foregroundColor(.green)
                        .font(.body)
                        .padding()
                }
                .actionSheet(isPresented: $showingActionSheet) {                   
                    return ActionSheet(title: Text("Delete images"), buttons: [
                        .default(Text("Delete selected").foregroundColor(.red)){
                            // some action to do
                        },
                        .cancel()
                    ])
                }
Run Code Online (Sandbox Code Playgroud)

问题是操作的颜色是两个按钮的默认颜色(“蓝色”)。我可以通过在“SceneDelegate.swift”或什至在上面的代码中添加以下行来更改这一点。

UIView.appearance(whenContainedInInstancesOf: [UIAlertController.self]).tintColor = UIColor(named: "green")
Run Code Online (Sandbox Code Playgroud)

这条线的问题是它会覆盖从“蓝色”到“绿色”的一般颜色。仍然需要找到有关如何为每个动作着色的解决方案。

这是它的样子: 图像预览

你有什么建议吗?

colors ios swift swiftui actionsheet

5
推荐指数
1
解决办法
978
查看次数

点击时 SwiftUI 按钮不会变灰

我真的很想理解一些事情。我想创建一个带有一些文本的按钮。该按钮有一个框架和一个颜色(颜色与背景相同)。当我点击该按钮时,我希望产生一些效果(整个按钮某种变色)。如果颜色与背景相同,则点击期间文本的颜色会有所不同。如果我有一个红色背景的按钮,则会对整个按钮产生效果。我附上了一张图片,展示了事情应该是什么样子。

点击按钮之前应如下所示:

在此输入图像描述

当用户按下按钮(不释放)时,按钮如下所示: 在此输入图像描述

就我而言,红色矩形颜色与背景颜色相同。但我想要相同的矩形叠加。相反,我得到以下内容。

点击之前:

在此输入图像描述

点击期间:

在此输入图像描述

在这种情况下,只有数字有某种覆盖。但矩形则不然。

这是代码。如果按钮的颜色与背景颜色相同,我应该更改什么才能获得相同的反馈?

Button(action: {
    some action
}){
    Text("1")
        .font(.title)
        .foregroundColor(.blue)
        .frame(width: 80, height: 48)
        .background(Color.white)
        .cornerRadius(4)
}
Run Code Online (Sandbox Code Playgroud)

button background-color ios swiftui

5
推荐指数
1
解决办法
2254
查看次数