0

취소를 클릭하면 uisearchDisplaycontroller의 너비를 변경하고 싶습니다. 나는 또한 취소 버튼을 클릭하면 크기 변경 uisearchdisplaycontroller 너비

mySearchBar = [[UISearchBar alloc]init]; 
[mySearchBar setDelegate:self]; 
resName_search = [[UISearchDisplayController alloc] initWithSearchBar:mySearchBar contentsController:self]; 
resName_search.delegate = self; 
resName_search.searchResultsDataSource = self; 
resName_search.searchResultsDelegate = self; 
[self.view addSubview:resName_search.searchBar]; 
[resName_search.searchBar setFrame:CGRectMake(0.0, barOriginY+79.0, 106.0, 40.0)]; 

가 좋은 표시 ...하지만 난 항목을 검색 한 후 취소 버튼을 클릭하면 ... 그것은 크기를 조정하지 않습니다 ..

-(BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar 
    { 
    btnCuisine.hidden =YES; 
    btnService.hidden =YES; 
    imgDropDwn1.hidden =YES; 
    imgDropDwn2.hidden =YES; 
    [resName_search.searchBar setShowsCancelButton:YES animated:NO]; 
    [resName_search.searchBar setFrame:CGRectMake(0.0, barOriginY+79.0, 320.0, 40.0)]; 
    return YES; 
    } 
-(void)searchBarCancelButtonClicked:(UISearchBar *)searchBar 
    { 
    NSLog(@"size changed 106.0"); 
    [resName_search.searchBar setShowsCancelButton:NO animated:NO]; 
    [resName_search.searchBar setFrame:CGRectMake(0.0, barOriginY+79.0, 106.0, 40.0)]; 
    btnCuisine.hidden =NO; 
    btnService.hidden =NO; 
    imgDropDwn1.hidden =NO; 
    imgDropDwn2.hidden =NO; 
    } 
... 참조 내 코드를 추가 해당 문제에 대한 이미지 링크 추가 plz 내 문제 해결 image Link

답변

1

self.searchDisplayController.searchBar.translatesAutoresizingMaskIntoConstraints를 YES로 설정하고 setActive를 NO로 설정하면됩니다. 하지만 YES에 translatesAutoresizingMaskIntoConstraints 테이블의 배경에

-(void)searchBarCancelButtonClicked:(UISearchBar *)searchBar 
{ 
NSLog(@"size changed 106.0"); 
self.searchDisplayController.searchBar.translatesAutoresizingMaskIntoConstraints = YES; 
[self.searchDisplayController setActive:NO animated:YES]; 
[resName_search.searchBar setShowsCancelButton:NO animated:NO]; 
[resName_search.searchBar setFrame:CGRectMake(0.0, barOriginY+79.0, 106.0, 40.0)]; 
// mySearchBar.frame =CGRectMake(0.0, barOriginY+79.0, 106.0, 40.0); 
btnCuisine.hidden =NO; 
btnService.hidden =NO; 
imgDropDwn1.hidden =NO; 
imgDropDwn2.hidden =NO; 
} 

탭이 searchDisplayControllerDidEndSearch 대리자를 따라서 크기를 추가하지 검색 창을 검색하는 동안 ... 내가 생각하는 중요하지 않습니다

-(void)searchDisplayControllerDidEndSearch:(UISearchDisplayController *)controller 
{ 
NSLog(@"size changed 106.0"); 
// [resName_search.searchBar removeFromSuperview]; 
self.searchDisplayController.searchBar.translatesAutoresizingMaskIntoConstraints = YES; 
[self.searchDisplayController setActive:NO animated:YES]; 
[resName_search.searchBar setShowsCancelButton:NO animated:NO]; 
// [self.view addSubview:resName_search.searchBar]; 
[resName_search.searchBar setFrame:CGRectMake(0.0, barOriginY+79.0, 106.0, 40.0)]; 
// mySearchBar.frame =CGRectMake(0.0, barOriginY+79.0, 106.0, 40.0); 
btnCuisine.hidden =NO; 
btnService.hidden =NO; 
imgDropDwn1.hidden =NO; 
imgDropDwn2.hidden =NO; 
}