Pau*_*w11 1 button swift tvos swiftui
我正在尝试更改Button
tvOS 上SwiftUI 的颜色。
修改background
几乎可以工作,除了您可以看到底层UIButton
实际上是在背景顶部使用圆形的半透明图像。这会导致矩形背景位于圆形图像之外的角落处的颜色不同。
添加.padding
强调了这个问题:
struct ContentView: View {
@State
var selected = false
var body: some View {
Button(action: {
self.selected.toggle()
}) {
Text($selected.wrappedValue ? "On":"Off")
.foregroundColor(.white)
}.padding(.all)
.background(self.selected ? Color.green : Color.blue)
}
}
}
Run Code Online (Sandbox Code Playgroud)
一个相关的问题是更改“焦点”视图的颜色,因为我怀疑这是与按钮本身相同的视图,转换了大小和颜色。
tvOS 中带有 a 的典型技术UIButton
是更改按钮图像,但似乎没有任何方法可以访问底层UIButton
.
同样,我只在 iOS 上检查过它,但这应该会有所帮助:
struct ContentView: View {
@State var selected = false
var body: some View {
Button(action: { self.selected.toggle() }) {
Text($selected.wrappedValue ? "On":"Off")
.foregroundColor(.white)
} .padding(.all)
.background(RoundedRectangle(cornerRadius: 5.0)
.fill(self.selected ? Color.green : Color.blue))
}
}
Run Code Online (Sandbox Code Playgroud)
您可以将任何视图传递给 .background() 修饰符,因此您可能还想尝试在其中放置一个 Image()。
归档时间: |
|
查看次数: |
2373 次 |
最近记录: |