Swifter {Swift Developer}

메뉴

UITextField 포커스시 입력필드 색상 변경가능한 확장방법

[개발 목표]

입력 텍스트필드에 포커스가 가면 해당 입력필드를 사용중인 것을 표시하기 위해 배경색을 변경하고 다른 쪽으로 포커스가 이동되면 원래 배경색으로 되돌아간다.

1) 우선 프로젝트를 만들고 Single View Controller를 선택한다.

2) 새 Swift파일 UITextFieldExtension.swift를 추가하고 아래와 같이 UITextField를 상속받은 클래스를 만든다.

3) Storyboard에서 ViewController화면에 UITextField 요소를 배치하고 Identity Inspector의 Custom Class에 [UITextFieldExtension]를 지정한다. 텍스트입력박스에는 모두 이렇게 지정한다.

uitextfield1

4) UITextFieldExtension클래스에서 @IBInspectable var focusBackgroundColor: UIColor?라고 선언하였기 때문에 Attribute Inspector에 Focus Background color라는 속성이 나온다. 이 속성에서 포커스가 발생하면 변경되는 배경색을 지정할 수 있다.

uitextfield2

5) Storyboard에서 각 TextField를 Outlet으로 연결해서 뷰와 소스코드간의 연결을 진행한다.

uitextfield3

6) ViewController에 포커스가 발생할 때 배경색이 변경될 수 있도록 각 텍스트필드별 작동코드를 추가한다.

7) 결과는 아래와 같이 나온다.

3BCB64BF-3FF6-427B-A61A-BC5BB2800CD2-83176-000053038CDE89CC

GitHub: https://github.com/swift-kr/TextFieldExam/

 

Facebook Comments

카테고리:   Swift Tips

댓글

죄송하지만 댓글은 닫혀 있습니다.