作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 View ,其中有一个文本字段。每当用户点击那个 texfield 时,就会出现一个键盘,然后我将 View 向上移动一点。一切都很好,直到我展示一个新的 View Controller 然后关闭它,在我关闭新的 View Controller 之后我在我的旧 View Controller 上有一个奇怪的行为,像这样的事情:
这就像在我关闭新的 View Controller 后显示我的键盘之前有点弹跳,这也会影响我隐藏键盘时,我的 View 变得低于它的原始位置:
这是我的代码:
override func viewDidLoad() {
super.viewDidLoad()
NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("keyboardWillShow:"), name:UIKeyboardWillShowNotification, object: nil)
NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("keyboardWillHide:"), name:UIKeyboardWillHideNotification, object: nil)
}
func keyboardWillShow(sender: NSNotification) {
self.view.frame.origin.y -= 100
}
func keyboardWillHide(sender: NSNotification) {
self.view.frame.origin.y += 100
}
我该如何解决这个问题?
最佳答案
您需要尝试这样的操作,您不能总是假设键盘会是那个高度,尤其是随着第三方键盘的出现。
在您的 keyboardWillHide
和 keyboardWillShow
中,您需要这样获取键盘高度:
if let keyboardSize = (sender.userInfo?[UIKeyboardFrameBeginUserInfoKey] as? NSValue)?.CGRectValue() {
self.view.frame.origin.y += keyboardSize
}
关于ios - 如何在呈现 View 后上移 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33382948/
我正在做一个项目,我的 android 在这个项目中作为一个网络服务器工作;输入带端口号的 IP 地址,打开 Web 界面,用户可以将文件上传到手机。我想在 Web 界面上显示一些图片,以便我们的界面
我是一名优秀的程序员,十分优秀!