콘텐츠 메인
- 채널 검색 추가
This commit is contained in:
56
SodaLive/Sources/CustomView/FocusedTextField.swift
Normal file
56
SodaLive/Sources/CustomView/FocusedTextField.swift
Normal file
@@ -0,0 +1,56 @@
|
||||
//
|
||||
// FocusedTextField.swift
|
||||
// SodaLive
|
||||
//
|
||||
// Created by klaus on 1/9/25.
|
||||
//
|
||||
|
||||
import SwiftUI
|
||||
|
||||
struct FocusedTextField: UIViewRepresentable {
|
||||
@Binding var text: String
|
||||
var isFirstResponder: Bool
|
||||
|
||||
class Coordinator: NSObject, UITextFieldDelegate {
|
||||
var parent: FocusedTextField
|
||||
|
||||
init(_ parent: FocusedTextField) {
|
||||
self.parent = parent
|
||||
}
|
||||
|
||||
func textFieldDidChangeSelection(_ textField: UITextField) {
|
||||
parent.text = textField.text ?? ""
|
||||
}
|
||||
}
|
||||
|
||||
func makeCoordinator() -> Coordinator {
|
||||
Coordinator(self)
|
||||
}
|
||||
|
||||
func makeUIView(context: Context) -> UITextField {
|
||||
let textField = UITextField()
|
||||
textField.delegate = context.coordinator
|
||||
textField.font = UIFont(name: Font.medium.rawValue, size: 13.3)
|
||||
textField.textColor = UIColor(hex: "eeeeee", alpha: 1.0)
|
||||
textField.tintColor = UIColor(hex: "3bb9f1", alpha: 1.0)
|
||||
textField.keyboardType = .default
|
||||
textField.autocapitalizationType = .none
|
||||
textField.autocorrectionType = .no
|
||||
|
||||
let placeholder = "채널명을 입력해 보세요"
|
||||
textField.placeholder = placeholder
|
||||
textField.attributedPlaceholder = NSAttributedString(
|
||||
string: placeholder,
|
||||
attributes: [.foregroundColor: UIColor(hex: "555555", alpha: 1.0)]
|
||||
)
|
||||
|
||||
return textField
|
||||
}
|
||||
|
||||
func updateUIView(_ uiView: UITextField, context: Context) {
|
||||
uiView.text = text
|
||||
if isFirstResponder {
|
||||
uiView.becomeFirstResponder()
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user