2012-11-09 2 views
1

검색 막대가있는 TableView가 있습니다. 하지만 다른보기 (레이블 말할 수) TableView 함께 추가하려면 (그래서 그것을 tableview 함께 스크롤). 예를 들어, iPhone 전화 연락처 애플리케이션을 열면 모든 번호 아래에 "내 번호 :"라는 lable이 있습니다. 검색 창과 동일한 계층 구조이어야합니다. 검색 창 바로 위에 새 레이블을 추가하려고했지만 스토리 보드를 통해이를 수행 할 수 없습니다. 여기에 내가 드래그하여이 계층에 UILabel의 드롭 경우에검색 창을 사용하여 UITableView 사용자 지정

Document Outline Screenshot for the ViewController

는 중 하나는 상단에있는 검색 창을 대체 또는 라벨은 프로토 타입 셀의 내부에 떨어진다. 한 번에 검색 창 및 레이블을 표시하는 다른 방법은 없습니다.

이렇게하는 방법이 있습니까?

답변

1

뷰 컨트롤러의 뷰 외부에 별도의 뷰를 생성 코드에서 아래 두 개의 대리인을 추가 (또는 내부, 그것은 중요하지 않습니다. 당신은 프로그래밍 방식으로 만들 수 있습니다)와에 연결 IBOutlet myCustomView. IBOutlet searchBar를 만들고 UISearchBar를 연결하십시오.

viewDidLoad; 당신은 을 사용할 수 있습니다 [searchBar addSubView : myCustomView]; 을 클릭하고 검색 창 위에 맞춤보기를 추가하십시오.

필요에 따라 사용자 정의보기를 표시/숨기거나 (myCustomView.hidden = YES/NO) 수퍼 뷰에서 추가하거나 제거 할 수 있습니다.

ex.

- (IBAction)didTapShowCustomHeaderButton { 
    myCustomView.hidden = NO; 
} 

- (IBAction)didTapHideCustomHeaderButton { 
    myCustomView.hidden = YES; 
} 
0

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section 
    { 

    UILabel *label = [[[UILabel alloc] initWithFrame:CGRectMake(10, 10, 100, 30)] autorelease]; 
     label.text = @"My Label"; 
    label.backgroundColor = [UIColor clearColor]; 

     return label; 

    } 

-(CGFloat)tableView:(UITableView*)tableView heightForHeaderInSection:(NSInteger)section{ 
     return 30 // this height should be equivalent to the myLabel height u declared in headerView above 
     } 
+0

안녕하세요. 답장을 보내 주셔서 감사합니다. 하지만 테이블을 아래로 스크롤 할 때 검색 바를 사용하여 화면 밖으로 나가려면이 레이블이 필요합니다. – sleepwalkerfx

+0

정확히 어디에서 원하는지 .. 내가 tableview의 일부로 필요하다고 가정합니다. – AppleDelegate

+0

검색 막대가 숨겨져있을 때 런타임에 검색 막대를 숨기고 다른 UIcontrol을 표시해야합니다. 이 작업을 수행하려면 검색 막대가 정확히 배치 된 곳 (계층 적으로)에 다른 UIcontrol을 추가해야한다고 생각합니다. – sleepwalkerfx

관련 문제