所以我有一个带有文本字段的视图,但是文本字段在底部。当我单击键盘时,它会弹出并覆盖文本字段,这是我的问题。我想知道当键盘出现时是否有可能将视图的其余部分向上推?
您应该将文本字段放入UIScrollView
并调整其contentInset
在UIKeyboardddShowNotify
上。
阅读此帮助页面:https://developer.apple.com/library/ios/documentation/StringsTextFonts/Conceptual/TextAndWebiPhoneOS/KeyboardManagement/KeyboardManagement.html#//apple_ref/doc/uid/TP40009542-CH5-SW7
您可以选中此教程移动UITextField,以便键盘不会隐藏它
你会在这里找到演示
或者你可以检查这个stackoverflow的答案当键盘出现迅速移动文本字段
最好的答案是通过如下方式更新底部约束进行管理
func keyboardWasShown(notification: NSNotification) {
var info = notification.userInfo!
var keyboardFrame: CGRect = (info[UIKeyboardFrameEndUserInfoKey] as! NSValue).CGRectValue()
UIView.animateWithDuration(0.1, animations: { () -> Void in
self.bottomConstraint.constant = keyboardFrame.size.height + 20
})
}
您可以注册视图控制器,以便在即将显示键盘时收到通知,然后向上推视图。
class ViewController: UIViewController {
var keyboardAdjusted = false
var lastKeyboardOffset: CGFloat = 0.0
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
NSNotificationCenter.defaultCenter().addObserver(self, selector: "keyboardWillShow:", name: UIKeyboardWillShowNotification, object: nil)
NSNotificationCenter.defaultCenter().addObserver(self, selector: "keyboardWillHide:", name: UIKeyboardWillHideNotification, object: nil)
}
override func viewDidDisappear(animated: Bool) {
super.viewDidDisappear(animated)
NSNotificationCenter.defaultCenter().removeObserver(self, name: UIKeyboardWillShowNotification, object: nil)
NSNotificationCenter.defaultCenter().removeObserver(self, name: UIKeyboardWillHideNotification, object: nil)
}
func keyboardWillShow(notification: NSNotification) {
if keyboardAdjusted == false {
lastKeyboardOffset = getKeyboardHeight(notification)
view.frame.origin.y -= lastKeyboardOffset
keyboardAdjusted = true
}
}
func keyboardWillHide(notification: NSNotification) {
if keyboardAdjusted == true {
view.frame.origin.y += lastKeyboardOffset
keyboardAdjusted = false
}
}
func getKeyboardHeight(notification: NSNotification) -> CGFloat {
let userInfo = notification.userInfo
let keyboardSize = userInfo![UIKeyboardFrameEndUserInfoKey] as! NSValue
return keyboardSize.CGRectValue().height
}
}
问题内容: 我正在使用PIL库进行一些图像编辑。关键是,我不想每次都将图像保存在HDD上以在资源管理器中查看它。是否有一个小模块可以使我设置窗口并显示图像? 问题答案: 从PIL教程中: 一旦有了 Image 类的实例,就可以使用该类定义的方法来处理和操纵图像。例如,让我们显示刚刚加载的图像: 更新: 如今,该方法已正式记录在PIL的Pillow分支中,并说明了如何在不同的OS上实现该方法。
我正在开发一个应用程序,我想在屏幕上显示计时器,并用它做动作。我需要当计时器停止时,玩家会输掉比赛。这部分我可以单独做,但我不知道如何做的部分是如何在屏幕上显示计时器,并使剩余的时间可见。 我希望你能帮助我,谢谢你的帮助!
我尝试过在键盘出现时向上移动屏幕。我成功地做到了,但我需要知道如何仅在单击底部时滚动视图,而不是顶部,因为键盘只是触摸下面的。 应用程序是这样的: 我们的观点
问题内容: 我们正在考虑用Java编写一种软件,该软件可以在运行期间记录监控什么内容。您对如何有效捕获监视器输出有任何建议吗? 占用的CPU越少,我们捕获屏幕的频率就越高,并且在不干扰其他正在运行的应用程序的情况下,生成的视频越流畅。 如果复制屏幕捕获部分不太困难,则Java中的现有开放源代码程序将起作用。我希望它不需要调用另一种编程语言。我们会看到。 问题答案: 我不确定是否需要框架。 请查阅该
我试图集成Agora SDK,我已经能够设置它的功能,但唯一的问题是本地视图是空白的,直到我做热重启,热重启后一切都很好,远程视图工作正常,我一直试图调试这个问题没有用,下面是我的代码。