在我的swift应用程序中,我试图隐藏inputAccessoryView,该视图显示用户点击webview内的文本字段。
以下是尝试执行此操作的代码:
func keyboardWillShow(notification: NSNotification) {
if let keyboardSize = (notification.userInfo?[UIKeyboardFrameBeginUserInfoKey] as? NSValue)?.CGRectValue() {
var keyboardView = UIApplication.sharedApplication().windows.last!.subviews.first!
keyboardView.inputAccessoryView = nil
}
}
但是我收到了这个错误:
Cannot assign to property: ‘inputAccessoryView’ is a get-only property
有更好的方法吗?关于如何使其发挥作用的任何想法?
答案 0 :(得分:1)
我认为错误是由于键盘视图的声明方式造成的。
当我创建自己的UIView并将其指定为第一响应者的inputView时,我可以将第一个响应者的inputAccessoryView分配(或设置为nil)。
我假设您正在尝试删除现有的附件视图,因为Apple说默认值为nil。我找到了适用于iOS 7的解决方法,也许这仍然有效?有人将UIWebDocumentView子类化,然后放入一个返回nil的inputAccessoryView实现。它在Obj-C中,但看起来很有希望: