2012-05-09 4 views
17

나는있는 UIScrollView에 jQuery과를 포함하는 방법

내가 처음있는 UIViewController는 미리보기 섹션 (UIView의)

//Setup container for preview section 
UIView *tempContainer = [[UIView alloc]initWithFrame:CGRectMake(0, 20, 320, 100)]; 
self.preview_answer_container = tempContainer; 
self.preview_answer_container.backgroundColor = [UIColor clearColor]; 
[tempContainer release]; 
[self.view addSubview:self.preview_answer_container]; 
을 보여주는이 (하위 뷰 등의 tableview를 포함)가있는 UIViewController에서 다음과 같은 작업을 수행 할 수 방법

제가

또한
//setup tableview 
UITableView *tempTable = [[UITableView alloc]initWithFrame:CGRectMake(0,44 ,320,self.view.frame.size.height - 44)]; 
self.tagFriendsTableView = tempTable; 
self.tagFriendsTableView.delegate = self; 
self.tagFriendsTableView.dataSource = self; 
[tempTable release]; 

[self.view addSubview:self.tagFriendsTableView]; 

enter image description here

jQuery과 아래 (그리고 검색 창)을 첨가 이 설정으로

, 내 스크롤 영역이 작은 (미리보기 섹션 아래 정적 영역)

내가 1) 나는 위쪽 즉 미리보기 섹션과의 tableview 함께 스크롤됩니다 전체 페이지를 스크롤 할 수 있도록 내 코드를 수정할 수있는 방법입니다 2) 스크롤 검색 창은 메뉴 바 아래에 (상단에 도달하면 중지됩니다 전체) (스크린 샷)를 참조하지만, jQuery과의 내용이

enter image description here

EDIT 여전히 스크롤 가능 등 :

UIScroll보기에 대한 코드가 추가되었습니다. 그러나, 아무것도 나를 위해 바뀌지 않았다. 내 코드에 어떤 문제가 있습니까?

//setup scroll view 
UIScrollView *scroll = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)]; 

//Search 
UISearchBar *tempBar = [[UISearchBar alloc]initWithFrame:CGRectMake(0, 120 + 20, 320, 44)]; 
self.sBar = tempBar; 
[tempBar release]; 
self.sBar.delegate = self; 
self.sBar.tintColor = [UIColor colorWithHexString:@"#b6c0c7"]; 
self.sBar.placeholder = @"Search for FB and DM friends"; 

[scroll addSubview:sBar]; 

//setup tableview 
UITableView *tempTable = [[UITableView alloc]initWithFrame:CGRectMake(0,144 + 20 + 20 ,320,self.view.frame.size.height - 144 - 20 - 20 - 44)]; 
self.tagFriendsTableView = tempTable; 
self.tagFriendsTableView.delegate = self; 
self.tagFriendsTableView.dataSource = self; 
[tempTable release]; 

//Add the scroll view to the parent view 
[scroll addSubview:self.tagFriendsTableView]; 

scroll.contentSize = CGSizeMake(self.view.frame.size.width, self.view.frame.size.height); 
[self.view addSubview:scroll]; 
[scroll release]; 

답변

33

내가

사용 만있는 tableView가

  1. 이있는 tableView

  2. 의 HeaderView으로 "미리보기"를 만들기에 충분하다, 당신을 위해 솔루션을 "검색 바"를 만들게 테이블 헤더의 섹션 헤더보기로

완벽하게 :)

+3

이것은 하나의 섹션이있는 tableView에서만 작동합니다. – SAHM

+1

어떤 몸이라도 나를 위해 그것을 설명 할 수 있냐? 부디 – RaviJSS

1

당신은 화면을 뺀 네비게이션 바의 크기를 가지고있는 UIScrollView의 내부에 jQuery과를 포함해야합니다. UITableView 위에있는 내용을 계속 볼 수있게하려면 UIScrollViews 배경을 clearColor로 설정하십시오.

+0

안녕하세요, 귀하의 회신에 감사드립니다. UIScroll 뷰에 대한 코드를 추가했으나 원래의 구현에서 변경된 사항이 없습니다. 편집 한 질문을 볼 수있게 도와 줄 수 있습니까? 내 uiscrollview 코드를 거기에 추가했습니다. 사전에 감사드립니다 – Zhen

+0

실제로 DBD/adali의 해결책으로 가야합니다. 내 것보다 낫습니다. –

3

공상 아무것도 또는 사용자 정의에 대한 필요가 없습니다, 당신의 UITableViewDelegatetableView:viewForHeaderInSection:를 사용하여 섹션 헤더이 될 수있는 UITableView를 사용하고 tableHeaderView하고 검색 필드로 미리보기 창을 설정합니다.

스크롤 이벤트 중에 테이블 머리글이 맨 위에서 스크롤됩니다. 섹션 머리글은 해당 섹션이 표시 될 때 항상 떠 있고 표시됩니다. 1 개의 섹션 만 있으면 섹션 헤더가 전체적으로 존재하게됩니다.

0

예, "tableView : viewForHeaderInSection"을 사용할 수 있습니다.

2

또는 다음 단계 만 수행 할 수 있습니다. 1. tableView의 스크롤을 비활성화하십시오. 2. tableView 및 해당 테이블에 연결된 IBOutlet에 높이 제한을 설정합니다. 3. 데이터를 다시로드하기 전에 테이블 높이를 계산하십시오.heightConstraint.constant = (heightOfTheSingleTableViewCell) * numOfRows

0
scroll.contentSize = CGSizeMake(self.view.frame.size.width, self.view.frame.size.height); 

contentSize가 충분하지 않기 때문에 스크롤 할 수 없습니다. scrollView의 맨 위에있는 컨텐츠의 전체 길이까지 길이를 늘려야합니다.

관련 문제