我有显示内容UIWebView
。我需要在webview中搜索一些文本。我使用了UISearchBar。但代码不是搜索和突出显示。
以下代码无效:
.h文件:
@interface detailsArtViewController : UIViewController<UISearchBarDelegate>
{
UISearchBar *searchbar;
}
.m文件:
-(void)viewDidLoad
{
searchbar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
searchbar.delegate=self;
[wbCont addSubview:searchbar];
}
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
{
NSLog(@"search is %@",searchBar.text);
[self highlightAllOccurencesOfString:searchBar.text];
}
答案 0 :(得分:1)
正确的方法是
- (void)viewDidLoad
不
- (void)ViewDidLoad
您应该在-viewDidLoad
方法中包含此内容:
[super viewDidLoad];
我不完全确定你的意思是“不工作”,但是在第一种方法中你将搜索栏绘制到视图中,在第二种方法中......你没有。
答案 1 :(得分:1)
您是否为UISearchBar
在您的参考链接中,他们为UISearchBar
@interface ViewController : UIViewController <UISearchBarDelegate>
{
UISearchBar *mysearchbar;
}
他们正在XIB中设置委托。如果您不使用XIB。集合
委托mysearchbar.delegate =self;
然后只委托UISearchBar
喜欢的方法,
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
将被称为
请更改.m文件代码,如下所示
-(void)viewDidLoad
{
[super viewDidLoad];
searchbar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
searchbar.delegate=self;
[wbCont addSubview:searchbar];
}
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
{
// NSString *search=[NSString stringWithFormat:@"Code"];
NSString *search=[NSString stringWithFormat:@"%@",searchBar.text];
NSLog(@"search is %@",search);
[self highlightAllOccurencesOfString:search];
}