2010-04-04 1 views
0

나는 개체를 액세스 할 수있는 별도의 4 개의 UITableView 개체가 있어야하는 iPhone 응용 프로그램의 한 가운데에 있으며, 앞서 설명한 개체의 첫 번째 섹션과 첫 번째 행에 하나의 UISearchBar 개체가 있습니다.4 개의 개별 UITableViews에서 단일 UISearchBar 인스턴스 유지

UITableView 님의 프레임을 44 픽셀 오프셋 한 다음 검색 막대를 내 UIViewControllerview의 하위보기로 추가하려고했습니다. 그게 작동하지만 테이블 바 인덱스는 테이블 바에서 셀이 아니기 때문에 검색 바 위로 스크롤 할 수 없습니다. 나는 표보기 자체에 검색 막대가 있어야합니다.

제 목표는 다중 테이블 뷰의 첫 번째 섹션에서 동일한 UISearchBar을 사용하는 것입니다.

고마워요.

답변

3

이미 언급했듯이 이라는 tableHeaderView 속성의 검색 창을 놓으면 수동으로 위치를 지정하지 않고도 검색 창이 맨 위에 표시됩니다. 그래도 색인 생성이 어떻게 작동하는지 모르겠습니다.

UISearchBar을 공유하는 경우 각 테이블보기에 하나씩 추가하는 대신에 좋은 이유를 생각할 수 없습니다. 메모리 차이는 무시할 수 있어야하며 대리인 등을 설정하거나 해제하는 것은 심각한 번거 로움이 될 수 있습니다. . 검색 창을 공유하려는 특별한 이유가 있었습니까? 지속성을 원하는 경우 viewWillDisappear에 검색 창 텍스트를 저장하고 viewWillAppear으로 설정할 수 있습니다. 당신이 정말로 오히려 테이블 헤더보다, 첫 번째 셀에 검색 창을 넣어하려는 경우

, 당신은 같은 것을 할 수있는 :

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
    UITableViewCell *cell = //etc, normal cell creation 

    if (indexPath.section == 0 && indexPath.row == 0) { 
     [cell addSubview:self.searchBar]; 
    } 
    return cell; 
} 

을하지만 테이블 헤더에 검색 창을 두는 것이 훨씬 더 공통적이고 관리하기가 훨씬 쉽습니다.

1

UISearchBar를 전환 할 때 각 tableView의 헤더보기로 간단하게 UISearchBar를 추가 할 수 있습니다.

[oldTableView setTableHeaderView:nil]; 
[newTableView setTableHeaderView:searchBar]; 

물론 내가하는 일을 오해 한 것일 수 있습니다. 그렇다면 정교하게 작성하십시오.