2014-01-09 2 views
2

내 응용 프로그램에 UISearchBar가 있습니다. 테이블 머리글보기로 설정했습니다. 텍스트 편집을 시작할 때 내 viewController 하위 뷰로 검색 막대를 설정하려고합니다. 검색 바 viewController의보기에 올바르게 추가하지만 프레임이 잘못되었습니다. 이건 내 코드입니다 :UIsearchBar. 프레임을 변경할 수 없습니다.

- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar 
{ 
    UITableView *tableView = ((UITableView *)[((SectionViewController *)sharedInstance.currentViewController).view viewWithTag:1111]); 
    [tableView reloadData]; 

    if([searchBar.text isEqualToString:@"Filter..."]) 
    { 
     searchBar.text = @""; 
     for(UIView *subView in searchBar.subviews){ 
      if([subView isKindOfClass:UITextField.class]){ 
       [(UITextField*)subView setTextColor:[UIColor blackColor]]; 
      } 
     } 
    } 
    [((SectionViewController *)sharedInstance.currentViewController).view addSubview:searchBar]; 
    [searchBar setFrame:CGRectMake(0, 20, 320, 38)]; 

    [((SectionViewController *)sharedInstance.currentViewController).navigationController setNavigationBarHidden:YES animated:YES]; 
    [searchBar setShowsCancelButton:YES animated:YES]; 
} 

I 프레임 (0, 20, 320, 38)을 설정하려면,하지만 난 (0, 0, 320, 38)을 얻는다. 또한 searchBar의 초기 프레임은 (0, 0, 320. 38)입니다. 제발 왜 이걸 가져 오라고 말해줘요?

+0

"UISearchDisplayController"를 사용하지 않으려는 경우 UITextField를 사용하여 시도해보십시오. UISerchBar로 정확하게 보이게 할 수 있으며 더 맞춤 설정할 수 있습니다. – Camo

답변

2

UISearchBar가 이상합니다. 프레임을 자유롭게 설정할 수 없습니다. 이는 내부 구현 때문입니다.

0

내가있는 UITableViewController에서 파생 내의 ViewController이 같은 UISearchBar를 추가

UISearchBar *searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0,0,self.tableView.frame.size.width,44)]; 
searchBar.placeholder = @"Search for Groups"; 
searchBar.delegate = self; 
self.searchController = [[UISearchDisplayController alloc] 
     initWithSearchBar:searchBar 
     contentsController:self]; 
self.searchController.delegate = self; 
self.searchController.searchResultsDataSource = self; 
self.searchController.searchResultsDelegate = self; 
self.tableView.tableHeaderView = self.searchController.searchBar; 
0

뷰는 한 번에 두 장소에있을 수 없습니다. 테이블 뷰의 머리글과 동시에 뷰 컨트롤러의 뷰에 동일한 검색 막대를 하위 뷰로 일관되게 추가 할 수 없습니다. 검색 바가 다른 이유는 무엇입니까?

관련 문제