From 3a536011314265daebacb3441b26ac9b9b44ff3f Mon Sep 17 00:00:00 2001 From: Jacob Bullock Date: Tue, 21 Nov 2017 17:25:07 -0700 Subject: [PATCH 1/2] re-parent and update delegates if they are lost during keyboard initialization --- .../KMEI/KeymanEngine/Classes/InputViewController.swift | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/ios/engine/KMEI/KeymanEngine/Classes/InputViewController.swift b/ios/engine/KMEI/KeymanEngine/Classes/InputViewController.swift index b596a8e6e7..9e8621161f 100644 --- a/ios/engine/KMEI/KeymanEngine/Classes/InputViewController.swift +++ b/ios/engine/KMEI/KeymanEngine/Classes/InputViewController.swift @@ -134,6 +134,13 @@ open class InputViewController: UIInputViewController, KeymanWebViewDelegate { super.viewDidAppear(animated) setConstraints() inputView?.setNeedsUpdateConstraints() + + //TODO: find out why this is actually happening + if(self.containerView?.subviews.count == 0) + { + Manager.shared.inputDelegate = self + self.containerView?.addSubview(kmInputView) + } } open override func willRotate(to toInterfaceOrientation: UIInterfaceOrientation, duration: TimeInterval) { From ac76fbfb64485c0e390d190b68f958bfd97f6806 Mon Sep 17 00:00:00 2001 From: Jacob Bullock Date: Fri, 24 Nov 2017 11:49:37 -0700 Subject: [PATCH 2/2] fix lint warnings, and update to preferred code styles --- .../KeymanEngine/Classes/InputViewController.swift | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/ios/engine/KMEI/KeymanEngine/Classes/InputViewController.swift b/ios/engine/KMEI/KeymanEngine/Classes/InputViewController.swift index 9e8621161f..243feae04b 100644 --- a/ios/engine/KMEI/KeymanEngine/Classes/InputViewController.swift +++ b/ios/engine/KMEI/KeymanEngine/Classes/InputViewController.swift @@ -134,12 +134,13 @@ open class InputViewController: UIInputViewController, KeymanWebViewDelegate { super.viewDidAppear(animated) setConstraints() inputView?.setNeedsUpdateConstraints() - + //TODO: find out why this is actually happening - if(self.containerView?.subviews.count == 0) - { - Manager.shared.inputDelegate = self - self.containerView?.addSubview(kmInputView) + if let containerView = self.containerView { + if containerView.subviews.isEmpty { + Manager.shared.inputDelegate = self + containerView.addSubview(kmInputView) + } } }