我创建了一个UISearchBar,我必须在inputAccessoryView中插入一个视图,但是编译器给了我这个错误:
分配给只读属性
为什么会这样? :
@property(nonatomic,retain)IBOutlet UISearchBar *searchbar;
@property (retain, nonatomic) IBOutlet UIView *keyView;
self.searchbar.inputAccessoryView = keyView;
答案 0 :(得分:5)
SearchBars里面有一个UITextView,您可以稍微肮脏的方式查找它并将inputAccessoryView设置为它。我不确定这是否有用,但值得一试
UITextField *searchBarField = nil;
for (UIView *subView in searchBar.subviews) {
if ([subView conformsToProtocol:@protocol(UITextInputTraits)]) {
searchBarField = (UITextField *)subView;
searchBarField.inputAccessoryView = ...
break;
}
}
答案 1 :(得分:0)
这种情况发生,因为这个属性是只读的,你不能简单地指定一个'UIView'。请阅读UISearchBar inputAccessoryView以获取有关如何访问此媒体资源的建议。你必须继承搜索栏。