2011-12-14 2 views
1

Interface Builder에서 UIViewUITable에 추가하고 올바르게 표시하면 드래그 앤 드롭만으로 끝납니다. 그러나 이제는 선택 사항이 될 것이므로 프로그래밍 방식으로 배치해야합니다.프로그래밍 방식으로 UITableView 내에 뷰를 추가하는 방법은 무엇입니까?

여기가 인터페이스 빌더처럼 보였다 방법은 다음과 같습니다 내가 하위 뷰와 같은 새로운보기를 추가 How it looked like in the Interface Builder

, 그것은 UITableView -content의 상단에 보여하지만, 콘텐츠는 일부 상쇄한다. 일 듯

self.scrollView.frame = CGRectMake(0, -140, self.scrollView.frame.size.width, self.scrollView.frame.size.height); 
[self.tableView addSubview:self.scrollView]; 
[self.tableView setContentInset:UIEdgeInsetsMake(140,0,0,0)]; 
[self.tableView setContentOffset:CGPointMake(0, -140) animated:NO]; 

, 그것은 제대로 보여줍니다 ..하지만 아래로 스크롤 할 때, 섹션 헤더 상단에서 140 픽셀로 유지 : 나는 다음과 같은 코드로했습니다. 그래서 나는 잘못된 접근법을 사용하고 있다고 생각하지만 그것을 고치는 방법을 절대 모릅니다. 누구든지 올바른 방향으로 나에게 밀어 줄 수 있습니까?

답변

2

좋아, 나는 정말로 어리 석다. 노력의 시간 후에, 나는 무언가를 생각했다. .xib 파일의 근원을 검사하고없이 하나와 가진 subview와 하나를 비교했다. 다음과 같은 것들이 나타났습니다 :

  • UIView은 부분적으로 UITableView입니다.
  • 다음 참조 번호가 추가되었습니다 : <reference key="IBUITableHeaderView" ref="204195654"/>.

    [self.tableView addSubview:self.scrollView]; 
    [self.tableView setTableHeaderView:self.scrollView]; 
    

    을 그리고 그것은 작동 :

그래서,이에 코드를 변경!

+0

당신은 당신이 tableView.HeaderView에 추가 한 뷰를 자동으로 바꾼다는 것을 의미합니까? –

+0

헤더보기에'tableHeaderView' 속성을 설정해야했습니다. 'addSubview :'가 필요한지 모르겠다. 필요하지 않을 수도있다. –

관련 문제