SwiftUI 的问题:带有按钮的垂直滚动视图
Posted
技术标签:
【中文标题】SwiftUI 的问题:带有按钮的垂直滚动视图【英文标题】:Problem with SwiftUI: Vertical ScrollView with Button 【发布时间】:2020-06-16 20:16:22 【问题描述】:我对编程很陌生,所以请原谅任何愚蠢的问题。我正在尝试制作一个内容为按钮的 ScrollView。虽然按钮会打印到控制台,但当在模拟器中显示时,按钮会显示为一个大的蓝色矩形,而不是显示我想要的图像。
关于ScrollView的代码:
struct ContentView: View
var body: some View
[Simulator Display][1]
VStack
Image("logo")
.resizable()
.aspectRatio(contentMode: .fit)
.padding(.leading, 50)
.padding(.trailing, 50)
.padding(.top, 20)
.padding(.bottom, -20)
Spacer()
ScrollView
VStack(spacing: 20)
Button(action:
//ToDo
print("Executed")
)
Image("Logo")
模拟器显示:
图像(暂时占位符)我想显示:
【问题讨论】:
能否提供图片 imgur.com/a/2j4D52o 很抱歉,由于某种原因,它不允许我将其包含在帖子中。 所以图片是蓝色方块?您可以将链接粘贴到帖子上的那个方格,而不是评论上,而只是方格,不像上面的那样 好的,我的道歉现在应该在帖子中提供。 【参考方案1】:所以我试了一下,是的,这很奇怪。无论如何,这是一个如何包含图像的示例。只需获取 Button 的一部分并粘贴它
struct ContentView: View
var body: some View
ZStack
Button(action:
print("button pressed")
)
Image("image")
.renderingMode(.original)
【讨论】:
非常感谢您的帮助。 @DevinHadley 我用更优化的方法修改了答案,看看 太棒了,看起来很棒。我现在也接受。 好的,已经有一段时间了,解决方案完美运行!只是回到这里让任何人知道导致问题的原因。我意识到 SwiftUI 会自动将按钮呈现为蓝色。通过将renderingMode设置为original,图像显示为正常状态,而不是变成蓝色。以上是关于SwiftUI 的问题:带有按钮的垂直滚动视图的主要内容,如果未能解决你的问题,请参考以下文章