問題
UITextFieldでテキストを入力し、キーボード「完了」ボタンを押すと、
元の画面に戻りますが、入力したUITextFieldをFocusしています。
望み動きは元の画面に戻った際、UIButtonをFocusすること。
解決
input.swift
...
@IBOutlet weak var finishBtn: UIButton!
@IBOutlet weak var descriptionTxt: UITextField!
...
var isfinished = false
override var preferredFocusEnvironments: [UIFocusEnvironment] {
if (self.isfinished){
self.isfinished = false
return [self.finishBtn]
}else{
return [self.descriptionTxt]
}
}
override func didUpdateFocus(in context: UIFocusUpdateContext, with coordinator: UIFocusAnimationCoordinator) {
if context.previouslyFocusedView == nil && context.nextFocusedView == self.descriptionTxt{
//キーワード画面から戻る
self.isfinished = true
self.setNeedsFocusUpdate()
self.updateFocusIfNeeded()
}
}