일단 개발중인 App 이
웹뷰 하단에 버튼이 있고,
하단에 버튼을 누를시 자바 스크트 함수를 호출해서
input box 를 띄우는 작업을 하는데,
이상하게 input box 가 화면에 보여 진 상태 인데도
키보드가 나타나질 않았다.
그래서 focus() 대신 click() 도 호출해보고
iOS 쪽에서 직접 focus 도 호출해보고 별에 별짓을 다했는데,
처음 한번 키보드가 뜨고 다음 호출부터는 키보드가 뜨지 않는
문제가 있었다.
이문제의 해결코드는 다음과 같다.
아래 코드는 한줄이라도 빠지면 동작하지 않는다.
꼭 순서를 지켜 사용하기를 바란다.
해당 해결방법이 검색을 아무리 해도 안되서 고생을 했다.
다른 사람은 고생하지 말기를....
UIApplication.shared.sendAction(#selector(UIView.resignFirstResponder), to: nil, from: nil, for: nil)
DispatchQueue.main.asyncAfter(deadline: .now() + 0.3) {
self.wkWebView.becomeFirstResponder()
let scriptSource = "appInterface.onSearch()"
self.wkWebView?.evaluateJavaScript(scriptSource) { (result, error) in
if let errorMessage = error?.localizedDescription {
Utils.print("OnSearchCheckerError = \(errorMessage)")
}
}
}
'공부방 > iOS' 카테고리의 다른 글
iOS fixed header and horizontal UIScrollView in UICollectionView (iOS 가로 스크롤 뷰가 포함 된 CollectionView) (0) | 2019.10.10 |
---|---|
How to get dSYM file for release (상용 dSYM 파일 가져오는 방법) (0) | 2019.09.30 |
how to separate code by iOS build target (iOS 빌드 타겟에 따른 코드 분리 ) (0) | 2019.09.19 |
iOS appstore deploy issue of screenshot (iOS 앱스토어 배포 스크린샷 문제) (0) | 2019.09.09 |
ITMS-90809: Deprecated API Usage 해결 방법 (0) | 2019.09.02 |
행복한 코딩을 위하여!
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!