키보드 노티피케이션
UITextView | Apple
해당 문서의 단락을 복붙
![](https://velog.velcdn.com/images/rudin_/post/4451b977-3b70-4e6c-b415-81939b548b14/image.png)
시뮬레이터에서 붙여넣기가 안 되는 경우 해결법
![](https://velog.velcdn.com/images/rudin_/post/7865e358-7af8-4d23-ba2a-0bab5f3ff703/image.png)
Edit-Automatically Sync Pasteboard 선택
키보드에 가려 아래쪽 문단이 안보이는 현상 발생
![](https://velog.velcdn.com/images/rudin_/post/cce01d47-ec22-4655-8e84-29fa324c682a/image.png)
해결법
- 키보드가 표시되면
화면 아래쪽에 키보드 높이만큼 여백 추가
- 키보드가 사라지면
여백 제거
![](https://velog.velcdn.com/images/rudin_/post/df471618-d034-4a83-a5c3-2433f2a6c9bf/image.png)
- 키보드가 사라지거나 표시되면 키보드 노티피케이션이 전달된다.
- 위의 네 가지 노티피케이션이 순서대로 전달
노티피케이션 토큰 생성
![](https://velog.velcdn.com/images/rudin_/post/f4b5761e-3dc5-4612-9691-57c4baa3b62a/image.png)
소멸자 추가(옵저버 해제 코드)
![](https://velog.velcdn.com/images/rudin_/post/28d0c480-5cc1-48c8-8436-0986b532c70f/image.png)
옵저버 등록 코드 추가
보통 viewDidLoad에서 구현
keyboardWillShowNotification
여백을 추가함
![](https://velog.velcdn.com/images/rudin_/post/4007dc13-ed18-4705-a6a2-5420faf16156/image.png)
![](https://velog.velcdn.com/images/rudin_/post/5b40755f-85ad-4d9f-aa8b-58c309092ce3/image.png)
keyboardWillHideNotification
여백을 삭제함
![](https://velog.velcdn.com/images/rudin_/post/7b43db2e-f5cb-4e6a-81e4-4ee6b0417464/image.png)
![](https://velog.velcdn.com/images/rudin_/post/fe4c7e45-e6cd-44a3-b0ca-21e0045bd57e/image.png)
참고로 키보드 토글은 cmd
+ k
새 메모 작성 시 키보드 자동 토글
first responder
- iOS에서는 입력 포커스를 가진 뷰를 first responder 라고 함
- 텍스트뷰를 first responder로 설정해주면 키보드가 자동 표시됨.
becomeFirstResponder
![](https://velog.velcdn.com/images/rudin_/post/710c1225-0117-4f90-81a8-cf4d8a7dc032/image.png)
resignFirstResponder
- 반대로 닫기 전에는 first responder을 해제해주는 것이 좋다.
![](https://velog.velcdn.com/images/rudin_/post/7ceae1d1-d08e-4837-b6c6-05407e441f93/image.png)
실행 화면
![](https://velog.velcdn.com/images/rudin_/post/20d146a0-6ae1-43bb-81e7-d974f7647a17/image.png)
![](https://velog.velcdn.com/images/rudin_/post/16707a7d-a242-43bf-b973-f3e92d798203/image.png)