UIWindow endDisablingInterfaceAutorotationAnimated 오류는 키보드가 iOS9에서만 collectionView에서 대화식으로 해제 될 때 콘솔에 나타납니다.
iOS9에서만이 이상한 오류가 발생합니다.
[UIWindow endDisablingInterfaceAutorotationAnimated:] called on UITextEffectsWindow: ...without matching
-beginDisablingInterfaceAutorotation. Ignoring.
언제든지 collectionView 내에서 아래로 드래그하여 대화식으로 키보드를 닫습니다. 탭 제스처로 키보드를 닫거나 Enter 키를 눌러도 오류가 발생하지 않습니다. 매우 답답합니다. 키보드 알림이 표시되지 않는 경우에도이 대화 형 키보드 닫기에서이 오류가 발생합니다. 다른 사람이이 오류를 발견하고 해결책을 찾았는지 궁금합니다. 키보드에 탑재 된 textView로 구성된 inputAccessoryView가 있습니다.
iOS9에서 동일한 문제가 발생했지만 tableView가 있습니다. 나는 이것을 함께 구현 self.tableView.keyboardDismissMode = .Interactive
했고 그것은 나를 위해 일했습니다.
// Dismiss keyboard when scrolling
func scrollViewWillBeginDragging(scrollView: UIScrollView) {
textView.resignFirstResponder()
}
확인할 사항
여러 다른 SO 사용자가 다양한 조건에서 비슷한 경험을 한 것으로 보입니다. 이 스레드를 확인하십시오 . 이 문제를 일으키는 많은 일이 발생할 수 있으므로 제공된 스레드를 검토하여 일치하는 사용 사례를 찾을 수 있는지 확인할 수 있습니다. 키보드를 닫는 방법은 명확하지 않지만 메서드 또는 제스처 인식기에서 다음과 같은 것을 호출 할 수 있습니다 (특정 개체에서 직접 해제하는 것이 아님).
UIApplication.sharedApplication().sendAction("resignFirstResponder", to: nil, from: nil, forEvent: nil)
제공된 스레드에서 볼 때 대부분의 경우 문제의 성격은 프레젠테이션 또는보기 해제 중 중복 호출이었습니다. 또한 스토리 보드 segue가 연결된 경우 (또는 경우에 따라 제거되었지만 xml이 여전히 스토리 보드 코드보기에 있음) 및 동일한 애니메이션에 대한 코드 기반 segue (performSegueWithIdentifier ...)가있는 문제를 보았습니다. 두 번의 표시 / 거부 호출 발생).
로그를보고 오류 직전에 어떤 호출이 기록되고 있는지 확인한 다음 로그보기에서 찾기를 수행하여 중복 호출이 있는지 확인합니다. 다시 말하지만 스토리 보드의 동작 / 애니메이션 / 레이아웃과 코드에서 이루어진 호출에 중복이있을 수 있습니다.
최신 정보
OP의 의견은 일부 경우 특히 프레젠테이션 / 해제 중 호출과 관련된 경우에 개발자 함수 작업을 성공적으로 수행하는 유일한 방법은 dispatch_async 호출로 래핑하는 것임을 상기 시켰습니다. 개발자 코드가 동일한 프레임에 도입되면 제대로 작동하지 않는 것으로 보이는 몇 가지 중요한 시스템 호출이 있습니다.
구체적인 예는 willMoveToWindow
. 이 경우 뷰에 대한 weakSelf 참조가 있고 코드를 호출하기 전에 newWindow에서 nil 값 (뷰가 해제됨을 나타냄)을 검토합니다.
따라서이 예제에서 디스패치 호출을 제거하면 개발자 코드로 인해 전체 앱이 중단됩니다. 나는 시스템 전환 호출 (창으로 /에서 전환과 관련된)이 그 당시 개발자가 요청한 것과 충돌 할 수 있다고 생각합니다.
dispatch_async(dispatch_get_main_queue(), { () -> Void in
//the saved flag is true only when user hits the done button
if !(weakSelf!.saved) {
weakSelf?.completeNotes(nil)
}
})
이 문제가 발생하여 내 견해가 엉망입니다. 이것이 내가 그것을 해결하는 방법입니다.
나는 viewController
에 발표되고 있었다 textFieldShouldBeginEditing
. 에서 viewController
, A를 textField
로 설정 becomeFirstResponder
에서 viewDidLoad
.
나를 위해이 솔루션은 이동하는 것입니다 becomeFirstResponder
에를 viewDidAppear
.
'code' 카테고리의 다른 글
강화 학습으로 신경망 훈련 (0) | 2020.12.02 |
---|---|
jQuery Mobile 및 PhoneGap에서 템플릿 / 지속적 머리글 / 바닥 글 템플릿 만들기 (0) | 2020.12.02 |
Google Vis로 염소 순간 이동 데이터를 그래프로 표시합니다. (0) | 2020.12.02 |
F #은 프로세스 생성 및 종료에서 Erlang보다 정말 빠릅니까? (0) | 2020.12.02 |
휴일-자바 구현이 있습니까? (0) | 2020.12.02 |