struct ContentsView: View {
@Binding var text: String
var body: some View {
VStack {
TextField("", text: $text)
.toolbar {
ToolbarItemGroup(placement: .keyboard) {
Spacer()
Button("Done") {
print("Done 눌림")
}
}
}
}
}
}
struct CustomTextField: View {
let titleText: String
@Binding var text: String
var body: some View {
VStack(spacing: 8) {
Text(titleText)
.frame(maxWidth: .infinity, alignment: .leading)
TextField("", text: $text)
.toolbar {
ToolbarItemGroup(placement: .keyboard) {
Spacer()
Button("Done") {
print("Done 눌림")
}
}
}
}
}
}
struct ContentView: View {
@State var idText: String = ""
@State var pwText: String = ""
var body: some View {
VStack {
CustomTextField(titleText: "아이디", text: $idText)
CustomTextField(titleText: "비밀번호", text: $pwText)
}
.padding(.horizontal, 16)
}
}
struct CustomTextField: View {
let titleText: String
@Binding var text: String
@FocusState private var isFocused: Bool //포커스
var body: some View {
VStack(spacing: 8) {
Text(titleText)
.frame(maxWidth: .infinity, alignment: .leading)
TextField("", text: $text)
.focused($isFocused) // 포커스
.toolbar {
ToolbarItemGroup(placement: .keyboard) {
// 포커스 상태가 true인 경우에만 Done 버튼 표시
if isFocused {
Spacer()
Button("Done") {
print("Done 눌림")
}
}
}
}
}
}
}
[iOS - SwiftUI] 프로필 이미지 설정 페이지 (0) | 2024.01.17 |
---|---|
[ Swift - MVVM ] 네비게이션 바 아이템 (0) | 2022.10.25 |
[iOS/Swift ] FSCalendar 날짜선택 관련 에러해결 (0) | 2022.08.28 |
[Swift - iOS] TableView 헤더 높이설정 (0) | 2022.08.06 |