我正在學習 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()
}
}
我的問題是什么,我該如何解決它,以便我可以為按鈕、文本框、影像等創建不同的樣式......
uj5u.com熱心網友回復:
您走在正確的軌道上,而不是定義一個函式,而是定義一個新視圖:
struct MyRect: View {
var body: some View {
Rectangle()
.frame(width: 100, height: 100)
.cornerRadius(18)
}
}
// Embed with 'MyRect()'
或者,func rect您的代碼中的 可能有一個回傳型別some View:
func rect() -> some View {
Rectangle()
.frame(width: 100, height: 100)
.cornerRadius(18)
}
// Embed with 'rect()'
uj5u.com熱心網友回復:
要創建一個顯示視圖的函式,必須創建@ViewBuilder 函式并回傳一些視圖。
你需要做這樣的事情: -
@ViewBuilder func rect() -> some View {
Rectangle()
.frame(width: 100, height: 100)
.cornerRadius(18)
}
uj5u.com熱心網友回復:
func rect 是型別,在你的 return 中的Voidbody 。您應該使函式的回傳型別符合,因此:Viewsome ViewView
回傳一個形狀
func rect() -> Shape {回傳一個視圖
func rect() -> some View {
請注意,如果使用選項號 1,則不能回傳任何不是Shape.
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/483980.html
