ios - 在iOS调整 View 中,当且仅当文本字段隐藏在键盘后面时才应该移动,否则不需要调整。

标签 ios iphone xcode swift

在使用 swift 开发 ios 应用程序时,我遇到了这个问题。 当软键盘出现时,我需要调整 View 以显示隐藏的文本字段。文本字段在 iPhone 4s、5、5s 中被隐藏。但在 iPhone 6 及更高版本中,即使在键盘出现后它仍然完美。所以我想知道这种情况的解决方案。仅当文本字段/任何字段由于软键盘而隐藏时才调整 View ,否则就保持原样。

最佳答案

当您开始输入时,以下代码会将您的 View 向上移动 200 像素。当文本字段结束编辑时, View 将动画回到原始位置。 不要忘记为文本字段设置委托(delegate)。

override func textFieldDidBeginEditing(textField: UITextField) {
    UIView.beginAnimations(nil, context: nil)
    UIView.setAnimationDuration(0.3)
    UIView.animationBeginsFromCurrentState = TRUE
    self.view.frame = CGRectMake(self.view.frame.origin.x, self.view.frame.origin.y - 200.0, self.view.frame.size.width, self.view.frame.size.height)
    UIView.commitAnimations()
}


func textFieldDidEndEditing(textField: UITextField) 
{
    UIView.beginAnimations(nil, context: nil)
    UIView.setAnimationDuration(0.3)
    UIView.animationBeginsFromCurrentState = TRUE
    self.view.frame = CGRectMake(self.view.frame.origin.x, self.view.frame.origin.y + 200.0, self.view.frame.size.width, self.view.frame.size.height)
    UIView.commitAnimations()
}

关于ios - 在iOS调整 View 中,当且仅当文本字段隐藏在键盘后面时才应该移动,否则不需要调整。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36862748/

相关文章:

ios - 获取 UIColor 的深色样式

ios - [UIApplication sharedApplication] 和 didFinishLaunchingWithOptions 的 application 参数有什么区别?

ios - iPhone : Daily local notifications

xcode - 如何获得 iOS 16 for Simulator?

ios - 当我在 IOS 中使用它的父项时,弱引用是否可能被垃圾收集?

ios - 使用cocos2D时出现代码签名错误

iphone - 可以限制 NSArray FilteredArrayUsingPredicate 返回的结果

iphone - 为什么我需要这样做并且有更好的方法吗? iPhone 应用程序 OS4 上的动画 block

ios - Storyboard和自动布局 : how make a circular image

objective-c - Xcode 4.5.2 (Mountain Lion) 中的命令行选项