微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法转换表达式的类型’CGRect’以键入’NSCopying!’在迅速

无法转换表达式的类型’CGRect’以键入’NScopying!’在迅速
我试图在 swift文件中实现键盘通知.

//在发送UIKeyboardDidShowNotification时调用.

func keyboardWasShown(aNotification :NSNotification)
    {
        var info = aNotification.userInfo
        var kRect:CGRect = info[UIKeyboardFrameBeginUserInfoKey] as CGRect
        var kbSize:CGSize = kRect.size

但不确定为什么我会收到此错误

解决方法

你无法将你从字典中提取的价值转发给CGRect.它是一个NSValue对象,因此您可以使用CGRectValue()轻松地从中获取rect值.这应该可以满足您的需求.

func keyboardWasShown(aNotification: NSNotification) {
    let info = aNotification.userInfo

    if let rectValue = info[UIKeyboardFrameBeginUserInfoKey] as? NSValue {
        let kbSize:CGSize = rectValue.CGRectValue().size
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐