几个小时以来,我一直在努力寻找解决方案,但可惜没有... 我一直在尝试纯粹以编程方式实现 UISearchBar(没有 xib,没有界面构建器)。
这是我的 .h header :
@interface RLCASearchMasterViewController : UIViewController<UISearchBarDelegate>
@property (strong, nonatomic) RLCAGUIElements *gui;
@property (strong, nonatomic) RLCAUITableView *table;
@property (strong, nonatomic) UISearchBar *searchBar;
@end
和我的 .m 实现:
@synthesize searchBar;
- (void)loadView
{
[super loadView];
searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(self.view.frame.origin.x, self.view.frame.origin.y, self.view.frame.size.width, searchBar.frame.size.height)];
searchBar.delegate = self;
[self.view addSubview:searchBar];
}
我已经检查了这个我不知道多少次了,也不知道我做错了什么...... UISearchBar 被很好地添加到 View 中,具有正确的大小和所有内容,但是当单击/点击时,键盘不会出现。 但是,如果我唤起以下内容:
[searchBar becomeFirstResponder];
键盘确实显示了,所以它可能不是委托(delegate),而是实际检测它是否被点击...不过我不希望它在加载时编辑,并且只能根据请求...
请帮忙。谢谢! :)
真诚的, 彼得。
最佳答案
好的,我让它工作了。
它有效,但我不知道为什么。如果有人有任何见解,我将不胜感激...
所以:
我替换了:
searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(self.view.frame.origin.x, self.view.frame.origin.y, self.view.frame.size.width, searchBar.frame.size.height)];
searchBar.delegate = self;
[self.view addSubview:searchBar];
与:
searchBar = [[UISearchBar alloc] init];
searchBar.delegate = self;
[searchBar sizeToFit];
[self.view addSubview:searchBar];
...aaand,VIOLA! ;)
尽管如此,但还是感谢所有的回答,并且如前所述,希望能解释为什么这有效以及它做了什么。
祝一切顺利, 彼得。
关于iphone - 单击时 UISearchBar 没有响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10944891/