태그: Swift, textfielddelegate
- This topic has 3개 답변, 2명 참여, and was last updated 4 years, 7 months 전에 by 야곰.
-
글쓴이글
-
-
모다피참가자
- 글작성 : 7
- 답글작성 : 1
안녕하세요 모다피에요 !
swift로 textfield delegate을 구현해서 테스트해보다가 동작이 잘 안되는 부분이 있어서 질문 남겨요.
texfield에 clearbutton mode로 .whileEditing을 기본으로 넣었고 뷰 부모에 scrollview를 넣었는데요.
texfield x 버튼을 눌렀을때 textfielddelegate가 textFieldShouldEndEditing-> textFieldDidEndEditing -> textFieldShouldClear
이 순서로 타다보니까 scrollview 안에서 clearbutton mode에서 x버튼이 원활히 동작하지 않고 스킵될 때가 있더라고요.
혹시 개발자 분 가운데도 이런 경우가 있으셨던 분 계신가요? 아니면 제가 뭔가 실수한건가 하고 올려봅니다.
참고: textFieldShouldEndEditing, textFieldDidEndEditing에는 뷰랑 키보드 높이를 계속해서 텍스트필드와 키보드 위치에 따라 뷰를
상단으로 조정해주는 함수를 구현했습니다.
그럼 감사합니다~ 좋은 주말보내세요들~!
- 이 게시글은 모다피에 의해 4 years, 7 months 전에 수정됐습니다.
2020-04-05 오후 9:05 #6188 -
야곰키 마스터
- 글작성 : 37
- 답글작성 : 579
X 버튼을 눌렀을 때 세 메서드를 거쳐 가는 것이 어떤 문제가 되는지 잘 이해가 가지 않습니다.
그것 때문에 X 버튼이 원활히 동작하지 않는 것은 아닌 것 같고요, 스크롤뷰의 스크롤 액션 때문에 겹치는 것 같습니다.
아래 참고가 눈에 띄네요. 두 곳에 위치에 따라 움직이는 코드를 넣었기 때문에 스크롤뷰에서 조금의 움직임만 가해져도 저 두 곳의 코드가 호출되겠네요.
왜 두 메서드에 그런 코드가 들어갈 필요가 있는지 궁금합니다. 다른 곳에 넣을 수는 없는걸까요?
만약 꼭 필요한 것이라면 iOS의 Responder chain에 대해 좀 더 공부해보면 도움이 될 것 같기도 하고요, scrollView의 delegate 메서드를 조절하면 좀 달라질지도 모르겠네요
scrollview의 delegate 메서드 중 스크롤 할지말지 결정하는 메서드가 있다면, 사용자의 현재 터치 위치가 필드 안쪽이라면 움직이지 않도록 하면 위의 두 메서드가 호출될 일은 없겠네요.
좀 더 좋은 방법이 있을 것 같은데 지금 당장 생각나는 해결책은 그것밖에 생각이 안나는군요.. ‘ㅁ’2020-04-06 오전 12:03 #6197
-
-
글쓴이글
- 답변은 로그인 후 가능합니다.