我正在尝试将此代码更新为快速3:
NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("keyboardWillShow:"), name: UIKeyboardWillShowNotification, object: nil)
NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("keyboardWillHide:"), name: UIKeyboardWillHideNotification, object: nil)`
到目前为止,我只是尝试了编译器给出的自动更正。结果是这样的代码:
let notificationCenter = NotificationCenter.default()
notificationCenter.addObserver(self, selector: Selector(("keyboardWillShow:")), name: NSNotification.Name.UIKeyboardWillShow, object: nil)
notificationCenter.addObserver(self, selector: Selector(("keyboardWillHide:")), name: NSNotification.Name.UIKeyboardWillHide, object: nil)`
不幸的是,这并没有使我走得太远,从而导致了其他错误。
有没有人解决这个问题?
请注意,我只是尝试如何编写通知。我(尚未)尝试修复通知功能。
斯威夫特4
override func viewDidLoad() {
super.viewDidLoad()
NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillShow), name: .UIKeyboardWillShow, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(self.keyboardWillHide), name: NSNotification.Name.UIKeyboardWillHide, object: nil)
}
func keyboardWillShow(notification: NSNotification) {
print("keyboardWillShow")
}
func keyboardWillHide(notification: NSNotification){
print("keyboardWillHide")
}
您还可以在这些方法中使用以下代码获取键盘信息。
NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillChange), name: .UIKeyboardWillChangeFrame, object: nil) .
@objc func keyboardWillChange(notification: NSNotification) {
let duration = notification.userInfo![UIKeyboardAnimationDurationUserInfoKey] as! Double
let curve = notification.userInfo![UIKeyboardAnimationCurveUserInfoKey] as! UInt
let curFrame = (notification.userInfo![UIKeyboardFrameBeginUserInfoKey] as! NSValue).cgRectValue
let targetFrame = (notification.userInfo![UIKeyboardFrameEndUserInfoKey] as! NSValue).cgRectValue
let deltaY = targetFrame.origin.y - curFrame.origin.y
}
在Swift 2中,我能够使用延迟使用中央调度的操作: 但自Swift3以来,这似乎不再编译了。用现代Swift写这篇文章的首选方式是什么?
问题内容: 当用户在inputAccessoryView中点击“附加”按钮时,我想通过键盘创建一个简单的视图。像这样: 有简单的方法吗?或者我应该创建我的自定义键盘? 问题答案: 您可以将该新子视图添加到您的应用程序窗口。
问题内容: 我想运行一个Java程序,并使其模拟键盘按键。因此,例如,可以在聚焦的输入框中键入一些文本。这可能吗? 问题答案: 可能会有所帮助。 这是的一个简单示例代码片段:
问题内容: 已在Swift3中弃用。任何人都可以提供一些示例来说明尝试打开URL时替换的工作方式吗? 问题答案: 所有你需要的是:
我正在尝试构建一个自动化脚本来安装chrome扩展。 在我的本地系统(windows 10)上,当使用java的Robot类时,所有这些都可以正常工作,因为我有一个物理键盘连接到我的计算机。 问题是——当我试图在虚拟机(亚马逊EC2,视窗服务器)上运行这种自动化时,机器人类不起作用,因为它无法检测键盘的物理连接。 有没有其他方法可以在不连接键盘的情况下模拟键盘行程? 仅供参考,我必须使用键盘,因为
> 我已经尝试了所有的文本区功能,比如type=“email”等等,我无法让它在所有Android版本上都工作。 我已经安装了cordova插件ionic键盘,它显示的键盘没有任何建议(图A)。但当我轻触ion文本区域时,本机键盘会显示出来(图B)。 我如何解决这个问题,或者禁用本机键盘上的建议,或者让Cordova插件替换我的ion textarea的本机键盘,或者其他什么?谢谢 图像A 图像B