我正在尝试使用名为 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)
这是它在红色背景上的样子(在白色上什么也没有):
我有一个关于 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)
这条线的问题是它会覆盖从“蓝色”到“绿色”的一般颜色。仍然需要找到有关如何为每个动作着色的解决方案。
这是它的样子: 图像预览
你有什么建议吗?
我真的很想理解一些事情。我想创建一个带有一些文本的按钮。该按钮有一个框架和一个颜色(颜色与背景相同)。当我点击该按钮时,我希望产生一些效果(整个按钮某种变色)。如果颜色与背景相同,则点击期间文本的颜色会有所不同。如果我有一个红色背景的按钮,则会对整个按钮产生效果。我附上了一张图片,展示了事情应该是什么样子。
点击按钮之前应如下所示:
就我而言,红色矩形颜色与背景颜色相同。但我想要相同的矩形叠加。相反,我得到以下内容。
点击之前:
点击期间:
在这种情况下,只有数字有某种覆盖。但矩形则不然。
这是代码。如果按钮的颜色与背景颜色相同,我应该更改什么才能获得相同的反馈?
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)