- 작성시간 : 2020/12/30 13:19
- 퍼머링크 : gsstudio.egloos.com/4438806
- 덧글수 : 0
⌨
키보드가 나타나고 사라지는걸 처리하는게 여간 귀찮은게 아니다.
스크롤뷰,테이블뷰같은 scrollable 한 애들 안에 textfield가 존재하면,
스크롤뷰가 최하단이 가려지지 않도록 scrollview의 bottom을 키보드 높이에 맞춰 올려줘야한다.
NSNotification.Name.UIKeyboardWillShow
NSNotification.Name.UIKeyboardWillHide그걸 위해서 위의 두 notification을 viewcontroller에 등록해서
scrollview의 bounds를 조절하거나, scrollview의 bottom autolayout constraint의 constant의 값을 조절한다.
나는 autolayout을 자주 사용하는 편이고, scrollview의 하단 bottom contraint를
근데 그걸 viewcontroller마다 넣어줘야하는게 엄청 귀찮다는 말이지...
그 귀찮음을 해결해줄 오픈소스를 깃헙에서 발견했다. (MIT 감사합니다 MIT 라이센스 ㅠㅠ)
코드는 매우 간단하다.
NSLayoutConstraint 를 상속해서 내부에서 show/hide를 처리해준다.
주의할점은 constant를 +하기 때문에 first item과 second item이 무엇이냐에 따라 변하는게 달라진다.
뭐 직접 실행하고 돌려보며 적용하면 간단한거니.
safe area 때문에 코드 수정이 필요한 부분도 있긴 한데, 이 난해한 글로 이해하셨다면 그정도는 잘 하실거라 생각한다.
xib에서 custom class를 변경하는게 가장 간편하고, xib를 안쓴다면.. snapkit에는 이걸 어떻게 써야하나..
음 그건 알아서 잘 적용하시길.. 😁
덧글