breaking constraintが表示される前提条件
対象のUITextFieldやUITextViewのinputAccessoryViewにUIToolBar(閉じるボタンとか付けれるやーつ)を代入してる
解決策
viewWillDisappear内でview.endEditingする
SampleViewController.swift
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
view.endEditing(true)
}
breaking constraintの警告の中にsystemInputAssistantViewやらUIRemoteKeyboardPlaceholderViewやら書いてあったので、キーボードが原因かと思って画面遷移時に引っ込めるようにしたら解決しました!めでたしめでたし!
おまけ view.endEditing不要パターン
-
チャット画面など、画面下部のカスタムinputAccessoryView内のUITextViewでキーボード使う場合(Delegate使う場合?)は、キーボード表示中に遷移先から戻ってきてもキーボード消えてくれてました!
-
ViewController内に入力系のUIがUIPickerViewを代入してるUITextFieldしかない場合も、キーボード表示中に遷移先から戻ってきてもbreaking constraintは表示されませんでした!