ios - 当键盘出现时,它会重置内部 View 的偏移量

标签 ios swift uiview uikeyboard

通过点击按钮,我将所有内容向上移动并在我正在移动的 UIView 之一中显示 UITextField:

UIView.animateWithDuration(0.7, delay: 0.0, options: .CurveEaseOut, animations: {
      self.logo.frame.offset(dx: 0, dy: -200)
}, completion: nil)
UIView.animateWithDuration(0.2, delay: 0.1, options: .CurveEaseOut, animations: {
      self.fill.frame.offset(dx: 0, dy: -230)
}, completion: nil)
UIView.animateWithDuration(0.3, delay: 0.5, options: .CurveEaseOut, animations: {
      self.form.frame.offset(dx: 0, dy: -240)
      self.form.alpha = 1.0
}, completion: nil)

但是当我点击 UITextfield(以 UIView 形式)并且出现键盘时,它会重置所有内容的偏移量。

如何避免?

最佳答案

我猜你正在使用 AutoLayout 将你的项目放在你的 View 中,它想要修复你的框架“错位”。添加带有约束的 UITextField 并更改内容约束中的值。

此外,当您使用 tableview.rowHeight = UITableViewAutomaticDimension 时,您的行会自动适应新的高度。

您不应该将 frame 用于动画之外的任何其他内容,因为动画的结果已经是 AutoLayout 所期望的。

关于ios - 当键盘出现时,它会重置内部 View 的偏移量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29692855/

相关文章:

ios - 希望自动使 Firebase 上的用户超时但遇到一些困难

xcode - 更新 XCode 和 Swift 后的“Set<NSObject >' does not have a member named ' containsObject”

ios - 如何使用单独的 UITableViewDataSource 类管理#selector?

ios - 如果我使用 clearColor 作为 backgroundColor,我需要将 UIVIew.opaque 显式设置为 NO 吗?

ios - UIView 可以在 segue 过渡期间固定到位吗?

ios - 重力与 UIview

ios - 如何使用 WKWebView 执行 list 请求

TextField 中的 IOS8 文本在焦点上弹跳

ios - 使用 Alamofire 进行 session 管理

ios - 当创建动画使 UIImageView 无限上下(几乎 float )时,如何在动画结束时停止暂停?