IQKeyboardManager 错误:“UIView”类型的值没有成员“keyboardToolbar”
Posted
技术标签:
【中文标题】IQKeyboardManager 错误:“UIView”类型的值没有成员“keyboardToolbar”【英文标题】:IQKeyboardManager error: Value of type 'UIView' has no member 'keyboardToolbar' 【发布时间】:2017-09-15 15:04:11 【问题描述】:我通过 Firebase 从 github 导入了 IQKeyboardManager,它带有一些易于修复的 swift 2.0 错误,基本上是重命名了很多东西...
如果您正在使用当前版本的 IQKeyboardManager 来获取最新的 Swift,请帮助,如果您遇到此错误,请告诉我!
所以现在有了新版本的 IQKeyboardManager(3.2 可行),它向我显示了这个我似乎无法弄清楚的错误:
///////////problem here
let toolbar = textField.keyboardToolbar
// error says "Value of type 'UIView' has no
// member 'keyboardToolbar' "
// Setting toolbar to keyboard.
if let _textField = textField as? UITextField
//Bar style according to keyboard appearance
switch _textField.keyboardAppearance
case UIKeyboardAppearance.dark:
toolbar.barStyle = UIBarStyle.black
toolbar.tintColor = UIColor.white
toolbar.barTintColor = nil;
【问题讨论】:
keyboardToolbar 是通过 IQKeyboardManager 库中定义的 UIView 上的类别扩展返回的 IQToolBar 对象。如果没有正确获取类别扩展,您可能没有正确导入该库。你在用cocoapods吗?可能也想在此处包含您的配置。 检查这个:cocoadocs.org/docsets/IQKeyboardManagerSwift/4.0.2 【参考方案1】:感谢 cmets,我检查了所有来源,似乎从 Swift 2 升级 -> Swift 3 在语法方面对我使用的所有第三方库都不是那么友好,所以最好不要重新编码所有内容想法是从 Podfile 中卸载“IQKeyboardManagerSwift”并删除其在项目中的所有引用,甚至是框架,然后尝试使用更新版本重新安装它。该错误是基于语法的,它指向一些文件在更改为 Swift 3 时未正确更新....
答案:卸载、删除引用并重新安装。
谢谢大家!
【讨论】:
以上是关于IQKeyboardManager 错误:“UIView”类型的值没有成员“keyboardToolbar”的主要内容,如果未能解决你的问题,请参考以下文章
集成 IQKeyboardManager 时找不到 .h 文件