Xcode6-Beta3 更新后,无法使用 Swift 访问键盘信息
Posted
技术标签:
【中文标题】Xcode6-Beta3 更新后,无法使用 Swift 访问键盘信息【英文标题】:After Xcode6-Beta3 update, cannot access keyboard information using Swift 【发布时间】:2014-07-08 23:45:07 【问题描述】:在 xcode6-beta3 更新之前,我能够通过键盘通知访问键盘的框架 (CGRect)。但是现在我尝试获得的每个值都是“nil”
通知码
notificationCenter.addObserver(self, selector: "keyboardWillAppear:", name: UIKeyboardWillShowNotification, object: nil)
keyboardWillAppear
功能码
func keyboardWillAppear(notification: NSNotification)
var keyboardSize = notification.userInfo[UIKeyboardFrameBeginUserInfoKey]!.frame.size.height
println(keyboardSize)
我尝试打印的任何值都为零:
tried: .frame
.size.height
.size
任何指针(指针,哈哈)或帮助将不胜感激
【问题讨论】:
【参考方案1】:您的代码调整如下:
func shrinkTextView (ncMessage: NSNotification)
var keyboardSize: AnyObject? = ncMessage.userInfo[UIKeyboardFrameBeginUserInfoKey]
println("\(keyboardSize?)")
...打印
可选(NSRect: 0, 568, 320, 216)
您是否正确添加了观察者?我试过这样:
NSNotificationCenter.defaultCenter().addObserver(
self, selector: "shrinkTextView:",
name: "UIKeyboardWillShowNotification", object: nil)
【讨论】:
啊,看来我错过了我的 defaultCenter() 电话...这可能很重要,明天我确认一下并点击它已回答,谢谢您的回复以上是关于Xcode6-Beta3 更新后,无法使用 Swift 访问键盘信息的主要内容,如果未能解决你的问题,请参考以下文章
无法使用 GNU-Emacs 在 SWI-Prolog 上编辑“Prolog 程序名称”(尝试设置劣质 Prolog 进程)
在 SWI-Prolog 中,在 OWL 本体上执行 SPARQL 查询