当键盘向上移动时,如何固定UIView
与image
和label
的位置?
我编写了一个代码,用于在键盘显示时向上移动我的 textField
,但是这会移动所有内容。
func textFieldDidEndEditing(_ textField: UITextField) {
moveTextField(textField: rasstoyanietextField, moveDistance: -215, up: false)
}
func textFieldDidBeginEditing(_ textField: UITextField) {
moveTextField(textField: rasstoyanietextField, moveDistance: -215, up: true)
}
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
rasstoyanietextField.resignFirstResponder()
return true
}
func moveTextField(textField: UITextField, moveDistance: Int, up: Bool){
let moveDuration = 0.1
let movement: CGFloat = CGFloat(up ? moveDistance : -moveDistance)
UIView.beginAnimations("animateTextField", context: nil)
UIView.setAnimationBeginsFromCurrentState(true)
UIView.setAnimationDuration(moveDuration)
self.view.frame = self.view.frame.offsetBy(dx: 0, dy: movement)
UIView.commitAnimations()
}
我该如何解决这个问题?
最佳答案
因为您移动整个 View ,而不是仅移动 TextView 。换行:
self.view.frame = self.view.frame.offsetBy(dx: 0, dy: movement)
与:
textField.frame = textField.frame.offsetBy(dx: 0, dy: movement)
关于ios - 键盘向上移动时如何固定UIView的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48214948/