57 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Swift
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Swift
		
	
	
	
	
	
//
 | 
						|
//  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 = "검색어를 2글자 이상 입력하세요"
 | 
						|
        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()
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 |