自己做微信电影网站怎么做,常州建设工程质量监督网站,网站制作简介,网站需要的栏目译自 Buttons and images更多内容#xff0c;欢迎关注公众号#xff1a;Swift花园喜欢文章#xff1f;不如来个 ➕三连#xff1f;关注专栏#xff0c;关注我 Button 和 Image在 SwiftUI 中#xff0c;按钮可以由两种方式创建#xff0c;取决于它们的外观。最简单的方式…译自 Buttons and images更多内容欢迎关注公众号Swift花园喜欢文章不如来个 ➕三连关注专栏关注我 Button 和 Image在 SwiftUI 中按钮可以由两种方式创建取决于它们的外观。最简单的方式是创建一个只包含文本的按钮你传入按钮的标题并且提供一个闭包这个闭包会在按钮被点击时执行Button(Tap me!) {print(Button was tapped)
}如果你想要更多比如一个图像或者视图的组合你可以使用另外一种形式Button(action: {print(Button was tapped)
}) { Text(Tap me!)
}当你需要在按钮中配合图像那么上面这种方式尤其适用。SwiftUI 有一个专门的 Image 类型用于处于 app 中的图片并且有三种主要的创建方式Image(pencil) 会加载一个叫 “pencil” 的图片它是你已经加入工程的图片。Image(decorative: pencil) 会加载相同的图片但不会在你启用屏幕阅读的时候被读出来。这种方式在图像没有传递额外重要信息的时候很有用。Image(systemName: pencil) 会加载 iOS 内建的 pencil 图标。它用的是 Apple 的 SF Symbols 图标集你可以从 Apple 的网站下载这个全集在全集中浏览和搜索图标。 默认情况下如果屏幕阅读启用它会读出你的图片名称。因此你要确保图片名称清晰合理以免令用户困惑。或者你也可以用 Image(decorative:) 构造器来明确这个名称不需要被读出来。由于按钮的第二种形式支持包含任何类型的视图你可以直接用一个图像Button(action: {print(Edit button was tapped)
}) { Image(systemName: pencil)
}当然你也可以组合图像和文字Button(action: {print(Edit button was tapped)
}) {HStack(spacing: 10) { Image(systemName: pencil)Text(Edit)}
}提示如果你的图像被填充了某个颜色比如一个纯蓝色。这可能是因为 SwiftUI 将它们着色以表明图像是可点击的。为了解决这个问题你可以用renderingMode(.original) 修改器来强制 SwiftUI 显示原始的图像而不是着色后的版本。译自 Showing alert messages显示 Alert 消息如果某件重要的事情发生一种常见的通知用户的方式是使用 alert – 这是一种包含标题消息一到两个按钮的弹出式窗口。思考一下什么时候 alert 应当被展示如何展示视图是状态的函数alerts 也不例外。因此与其说是“显示 alert”不如说我们创建 alert 并且设置展示的条件。一个基本的 SwiftUI alert 有标题消息和一个 dismiss 按钮就像这样Alert(title: Text(Hello SwiftUI!), message: Text(This is some detail message), dismissButton: .default(Text(OK)))如果你需要的话可以添加更多代码来配置按钮的细节。更有趣的是我们展示 alert 的方式我们并不会把 alert 赋给某个变量然后调用 myAlert.show()这样的代码因为这样就又回到了“事件序列”的思维方式。取而代之的是我们创建一个 alert 是否显示的状态像这样State private var showingAlert false然后我们把 alert 附着在UI的某个地方并且告诉它使用上面那个状态来决定是否呈现 alert。SwiftUI 会观察 showingAlert状态只要它变成 true就会展示 alert。下面是演示代码当按钮被点击时显示 alertstruct ContentView: View {State private var showingAlert falsevar body: some View {Button(Show Alert) {self.showingAlert true}.alert(isPresented: $showingAlert) {Alert(title: Text(Hello SwiftUI!), message: Text(This is some detail message), dismissButton: .default(Text(OK)))}}
}上面的代码是把 alert 依附在 button 上不过实际上alert() 修改器被应用于哪里其实无所谓我们所做的就是当 showingAlert 为真时展示 alert。近距离检视一下alert() 修改器.alert(isPresented: $showingAlert)这里又是一个双向绑定因此当你关掉 alert 弹窗时 SwiftUI 会自动showingAlert 设置回 false。我的公众号 这里有Swift及计算机编程的相关文章以及优秀国外文章翻译欢迎关注