如何在 swiftUI 中创建自定义形状
How can I create custom shapes in swiftUI
我正在学习 swiftui,我想在我的应用程序中创建一些形状。
我决定创建一个函数来显示形状,而不是重复我的代码。
我尝试创建一个包含形状的函数并在需要的地方调用它。
import SwiftUI
struct HomeView: View {
var body: some View {
VStack{
HStack{
rect()
}
}
}
}
func rect() {
Rectangle()
.frame(width: 100, height: 100)
.cornerRadius(18)
}
struct HomeView_Previews: PreviewProvider {
static var previews: some View {
HomeView()
}
}
我的问题是什么,我该如何解决才能为按钮、文本框、图像等创建不同的样式...
要创建用于显示视图的函数,必须创建 @ViewBuilder 函数和 return 一些视图。
你需要做这样的事情:-
@ViewBuilder func rect() -> some View {
Rectangle()
.frame(width: 100, height: 100)
.cornerRadius(18)
}
你走在正确的轨道上,而不是定义一个函数,定义一个新视图:
struct MyRect: View {
var body: some View {
Rectangle()
.frame(width: 100, height: 100)
.cornerRadius(18)
}
}
// Embed with 'MyRect()'
或者,您代码中的 func rect
可以有一个 return 类型 some View
:
func rect() -> some View {
Rectangle()
.frame(width: 100, height: 100)
.cornerRadius(18)
}
// Embed with 'rect()'
函数 rect 的类型为 Void
,正文在您的 View
returns some View
中。您应该使函数的 return 类型符合 View
,因此:
return 形状 func rect() -> Shape {
return 视图 func rect() -> some View {
请注意,如果使用选项 1,您不能 return 任何不是 Shape
.
的内容
我正在学习 swiftui,我想在我的应用程序中创建一些形状。
我决定创建一个函数来显示形状,而不是重复我的代码。
我尝试创建一个包含形状的函数并在需要的地方调用它。
import SwiftUI
struct HomeView: View {
var body: some View {
VStack{
HStack{
rect()
}
}
}
}
func rect() {
Rectangle()
.frame(width: 100, height: 100)
.cornerRadius(18)
}
struct HomeView_Previews: PreviewProvider {
static var previews: some View {
HomeView()
}
}
我的问题是什么,我该如何解决才能为按钮、文本框、图像等创建不同的样式...
要创建用于显示视图的函数,必须创建 @ViewBuilder 函数和 return 一些视图。
你需要做这样的事情:-
@ViewBuilder func rect() -> some View {
Rectangle()
.frame(width: 100, height: 100)
.cornerRadius(18)
}
你走在正确的轨道上,而不是定义一个函数,定义一个新视图:
struct MyRect: View {
var body: some View {
Rectangle()
.frame(width: 100, height: 100)
.cornerRadius(18)
}
}
// Embed with 'MyRect()'
或者,您代码中的 func rect
可以有一个 return 类型 some View
:
func rect() -> some View {
Rectangle()
.frame(width: 100, height: 100)
.cornerRadius(18)
}
// Embed with 'rect()'
函数 rect 的类型为 Void
,正文在您的 View
returns some View
中。您应该使函数的 return 类型符合 View
,因此:
return 形状
func rect() -> Shape {
return 视图
func rect() -> some View {
请注意,如果使用选项 1,您不能 return 任何不是 Shape
.