我在我的 TopBar.m 中这样写 UISearchBar:
_tempSearchBar =[[UISearchBar alloc]initWithFrame:CGRectMake(44, 0, 320 - 44, 43)];
_tempSearchBar.barStyle=UIBarStyleDefault;
_tempSearchBar.placeholder=@"搜索";
[self addSubview:_tempSearchBar];
结果是这样的,没错。
然后我在另一个类中编写 UISearchDisplayController ,如下所示:
_topBar.tempSearchBar.delegate = self;
_searchDisplayController = [[UISearchDisplayController alloc] initWithSearchBar:_topBar.tempSearchBar contentsController:self];
[_searchDisplayController setDelegate:self];
[_searchDisplayController setSearchResultsDataSource:self];
UISearchBarDelegate 是这样的:
#pragma mark -
#pragma mark UISearchBarDelegate
- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar
{
[_searchDisplayController setActive:YES animated:YES];
}
当我单击 UISearchBar 时,它显示为这样,searchBar 的框架发生了变化。为什么?
当我取消 UISearchDisplayController 它是这样的:
为什么改变框架?宽度由 UISearchDisplayController 从 320-44 更改为 320?
谢谢。