Я не знаю, что у меня есть эта ошибка: не могу преобразовать возвращаемое выражение любого представления, чтобы вернуть тип некоторого представления
Я пробую некоторые вещи, но ничего не работает ... И я ничего не нашел в Интернете
Спасибо за вашу помощь ...
struct LoginView: View {
@Binding var showCreateAccount: Bool
@State private var email = ""
@State private var password = ""
@State private var formOffset: CGFloat = 0
@State private var presentPasswordRecoverySheet = false
var body: some View {
VStack {
VStack(spacing: 40) {
Image("Logo")
Text("Login").font(.title).bold()
VStack {
RoundTextfield(value: self.$email, placeholder: "Email", icon: Image(systemName: "at"),
onEditingChanged: { flag in withAnimation { self.formOffset = flag ? -150 : 0 } })
RoundTextfield(value: self.$password, placeholder: "Password", icon: Image(systemName: "lock"), isSecure: true,
onEditingChanged: { flag in withAnimation { self.formOffset = flag ? -150 : 0 } })
BasicButton(text: "Login") {}
}
Button(action: { withAnimation(.spring() ) { self.showCreateAccount.toggle() } } )
{
HStack { Text("Don't have an account? Sign up.").accentColor(Color.accentColor) }
}
Button(action: { self.presentPasswordRecoverySheet.toggle() } )
{
HStack { Text("Forgot your password?").accentColor(Color.purple) }
}
.sheet(isPresented: self.$presentPasswordRecoverySheet)
{ RecoverPasswordView(presentPasswordRecoverySheet: self.$presentPasswordRecoverySheet) }
}
.padding()
.offset(y: self.formOffset)
}
}
Это мой код BasicButton, но я думаю, что это не проблема
struct BasicButton: View {
var text = "Next"
var action: (()->()) = {}
var body: some View {
Button(action: {
self.action()
}) {
HStack {
Text(text)
.bold()
.frame(minWidth: 0, maxWidth: .infinity)
.padding(.vertical)
.accentColor(Color.white)
.background(Color("accentColor"))
.cornerRadius(30)
}
}
}
}
struct BasicButton_Previews: PreviewProvider {
static var previews: some View {
BasicButton()
}
Когда я удаляю два Функция кнопки для создания учетной записи и забыл пароль, код можно построить