UIViewController
があり、その中に別のUIView
があります。このビューにはいくつかのテキストフィールドがあります。ユーザーがいずれかのフィールドをタップすると、そのビューは自動的に彼のcenter.y
に収まります。最後に、ユーザがタップしたテキストフィールドが画面の中央に表示されます。しかし、私の場合、その見方は動かない。シミュレータではうまくいきましたが、実際の電話では何も起こりません。出力center.y
の位置のみが変更されます。私は制約付きでUIView
を修正しました。iOS-center.yが表示されない
ここに、タップアクションのコードがあります。
func textFieldDidBeginEditing(_ textField: UITextField) {
textField.layer.borderWidth = 0
textField.clearsOnBeginEditing = true
textField.text = ""
print("Began")
let textFieldCoInView = textField.center
let coInSelf = self.dataView.convert(textFieldCoInView, to: self.view)
print(coInSelf)
print(self.view.center.y)
if(coInSelf.y > self.view.center.y) {
dataViewOriginY = dataView.center.y
print("Works")
self.dataView.center.y = self.dataView.center.y - (coInSelf.y - self.view.center.y)
print(self.dataView.center.y)
}
}
表示するために提供した制約はありますか? –