반응형
블로그 이미지
개발자로서 현장에서 일하면서 새로 접하는 기술들이나 알게된 정보 등을 정리하기 위한 블로그입니다. 운 좋게 미국에서 큰 회사들의 프로젝트에서 컬설턴트로 일하고 있어서 새로운 기술들을 접할 기회가 많이 있습니다. 미국의 IT 프로젝트에서 사용되는 툴들에 대해 많은 분들과 정보를 공유하고 싶습니다.
솔웅

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

글 보관함

카테고리


반응형

FAQ Wednesday: native.newTextField and native.newTextBox Events


Posted on . Written by


It’s Wednesday and time for another FAQ session. Here are five frequently asked questions (FAQ).


1. Why is the “submitted” event phase missing for native.newTextField on devices but it’s working on the Mac Simulator?


“submitted” phase는 유저가 키보드의 “return” or “done” key 를 눌렀을 때 보내 집니다. 이것은 유저가 텍스트 입력 작업을 끝마치고 해당 정보를 “submitted” 했다는 것을 가리키는 것이죠. 유저가 다른 필드를 클릭해서 포커스가 바뀔 경우는 보내지지 않을 겁니다. build 904 버전 이전에는 맥 시뮬레이터는 항상 “submitted” and “ended” phases 가 같이 보내졌습니다. (submitted key 가 클릭되지 않았을 때도요). build 904 부터 맥 시뮬레이터는 iOS와 Android가 작동되는 것과 비슷하게 작동하게 됐습니다.




2. I’m confused about the “ended” and “submitted” phases for native.newTextFields.


TextField events가 작동하는 과정을 요약해 보겠습니다. 유저가 textfield를 클릭(터치)하면 “began” phase가 보내지고 키보드가 보여집니다. 타이핑이 일어나면 “editing” phase가 발생하죠. return/done button 이 클릭되면 ended” phase 가 보내진 다음에 “submitted” phase가 보내집니다. 만약 유저가 다른 Textfield나 다른 TextBox를 터치했다면 “submitted” phase는 보내지지 않고 “ended” phase만 보내지겠죠.


iOS에서는 number 를 넣을 TextField를 생성했을 경우 return key 가 없는 키보드가 나올 겁니다. 그러니까 유저가 일을 마쳤을 때 누를 버튼을 제공해 줘야 합니다. 키보드를 감추려면 native.setKeyboardFocus를 nil 로 하셔야 됩니다. 이렇게 키보드를 숨길 때 TextField 객체에 대한 “ended” phase 가 생성됩니다.

Note: 위의 상황은 build 904 버전 이후의 맥 시뮬레이터에서만 작동됩니다.



3. What happened to the “submitted” event phase on native.newTextBox?


newTextBox에는 submitted event phase가 없습니다. 이유는 return 키를 누르면 입력한 값이 submit 되는 것이 아니라 다음 줄로 가기 때문이죠. 이전 질문에서 언급됐듯이 유저가 작업이 끝났을 때 누를 수 있는 버튼을 생성하셔야 합니다.



4. When using native.newTextField, how do I hide the keyboard?


native.newTextField or native.newTextBox에서 키보드를 숨기려면 native.setKeyboardFocus 를 nil 로 하시면 됩니다. 역으로 native.setKeyboardFocus를 이용해서 포커스를 줄 수도 있습니다.



5. How can I edit text in the native.newTextBox?


디폴트로 native.newTextBox 는 editable이 아닙니다. object.isEditable = true를 하셔서 edit mode를 enable로 바꾸실 수 있습니다.


That’s it for today’s questions. I hope you enjoyed it and even learned a few things.



반응형