2017-09-14 1 views
1

섹션의 첫 번째 셀과 겹치기 위해 sectionview 헤더의 섹션 헤더를 푸시하려고합니다. 왼쪽의 linkedin 앱에 프로필 사진이 표시되는 방식과 비슷합니다.UITableview의 섹션 헤더를 겹치게 만들기

linkedin app screenshot

그래서, 프로필 사진이 중첩되는 화이트보기 섹션의 첫 번째 행이며, 프로필 사진 섹션 헤더 경우.

프레임의 x 좌표를 음수 값으로 변경하고 헤더의 크기를 어지럽게 사용하려고 시도했습니다.

답변

0

헤더가 필요한 모양을 정의 할 수있는 viewForHeaderInSection()에 사용자 지정보기를 만듭니다. 귀하의 경우, 사각형의 아래쪽 중심에서 원을 그리십시오. 그리고 그 내용에 내용을 설정하십시오.

해당 사용자 지정보기에서 투명하게 0으로 표시 할보기의 알파 값을 변경하십시오. 따라서 원하지 않는 헤더 부분이 화면에 표시되지 않습니다.

1

저는 LinkedIn App의 프로파일보기를보고 있었는데, 비슷한 것을 만들면 모든 프로필 정보를 tableHeaderView에 넣을 것이라고 생각합니다.

  • 있는 UIImageView (배경 화상)
  • UIView의 (함유 프로필 정보)
  • UIImageView에 (사용자 프로파일 이미지)

enter image description here

: 따라서 헤더는 다음과 같이 구성 할 UITableView는 UIScrollView의 하위 클래스이므로 scrollViewDidScroll 대리자 메서드를 사용하여 배경 이미지에 애니메이션을 적용 할 수 있습니다. 그런 다음 테이블 뷰가 스크롤되는 동안 배경 이미지의 위치를 ​​조정할 수 있습니다.

@property (weak, nonatomic) IBOutlet UIImageView *backgroundImage; 

- (void)scrollViewDidScroll:(UIScrollView *)scrollView { 
    // 64 is the height of the navigation bar. 
    // 110 is the maximum distance I want to move the image down before it starts to move with the table. 
    CGFloat offset = MIN(scrollView.contentOffset.y + 64, 110); 
    self.backgroundImage.transform = CGAffineTransformMakeTranslation(0, offset); 
} 
+0

감사합니다. @ Ryan! 비록 테이블 뷰의 모든 셀에 대해이 효과를 복제하는 것이 이상적 이었지만 이상적이었습니다. 지금은 셀 안에 래퍼보기를 만들었고 셀을 투명하게 만들고 셀 범위 내에서 효과를 만들었습니다. 해결 방법과 비슷하지만 섹션 헤더를 사용하여 달성 할 수 있는지 알아 보는 것은 흥미로울 것입니다. – mike

관련 문제