画面上に複数のTextFieldが存在するのですが、上下の位置が異なる2つのTextFieldをアクティブにしているのですが、frame.origin.yが正確に取れません。
Tagを表示させていますが正確にTextFieldはアクティブを取得できているように見えます。
画面は縦向きに利用していて、キーボードが現れた時に、画面全体をずらす通常の処理です。
Stack Viewを画面上で2重(背後に画像を配置)に重ねたり、多用していますが関係しますでしょうか?
何か気づいたことがあればアドバイスをお願いします。
swift
1 var txtActiveField = UITextField() 2 //UITextFieldが編集された直後に呼ばれる. 3 func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool { 4 txtActiveField = textField 5 print (txtActiveField.tag) 6 return true 7 } 8 // キーボードが現れた時に、画面全体をずらす。 9 func keyboardWillShow(notification: Notification?) { 10 print("テキストフィールドの下辺:((txtActiveField.frame.origin.y))") 11 // 画面ズラす処理 12 }
print (txtActiveField.tag)は正確にTextFieldのタグを出力していますが
print("テキストフィールドの下辺:((txtActiveField.frame.origin.y))")
が何故か毎回"テキストフィールドの下辺:(18.0)"と表示され、Stack Viewを表示???しているのかと思っています。。。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。