네이티브 iOS7 날씨 앱과 비슷한 효과를 어떻게 재현 할 수 있습니까?네이티브 날씨 앱과 같은 iOS7 상태 표시 줄
기본적으로 상태 표시 줄은보기의 배경을 상속하지만 내용은 표시되지 않습니다. 또한 하나의 픽셀 선은 상태 표시 줄의 높이가 20 픽셀 인 경우에만 표시되며 일부 내용이 언더 레이 인 경우에만 표시됩니다.
네이티브 iOS7 날씨 앱과 비슷한 효과를 어떻게 재현 할 수 있습니까?네이티브 날씨 앱과 같은 iOS7 상태 표시 줄
기본적으로 상태 표시 줄은보기의 배경을 상속하지만 내용은 표시되지 않습니다. 또한 하나의 픽셀 선은 상태 표시 줄의 높이가 20 픽셀 인 경우에만 표시되며 일부 내용이 언더 레이 인 경우에만 표시됩니다.
가장 좋은 것은 뷰의 clipSubview를 통해 확인하는 것입니다. 뷰에 컨텐츠를 넣고 왼쪽/오른쪽/아래 및 높이에 제약 조건을 적용합니다. 스크롤보기의 높이는 셀의 위치가 마이너스이고 그 시점에서 원하는 효과를 얻기 위해 내용 (클립)보기의 높이를 변경하기 시작한 것입니다.
이것은 실제 응용 프로그램으로 www.fancyinteractive.com에서 다운로드하여 살펴볼 수 있습니다. 이 기능은 다음 업데이트로 곧 제공 될 예정입니다.
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
NSArray *visibleCells = [convertorsTableView visibleCells];
if (visibleCells.count) {
for (CVConverterTableViewCell *cell in visibleCells) {
CGFloat positionYInView = [convertorsTableView convertRect:cell.frame toView:self.view].origin.y;
[self clipLayoutConstraint:cell.clipHeightLayoutConstraint withPosition:positionYInView defaultHeight:cell.frameHeight];
[cell.converterLabel layoutIfNeeded];
[cell.iconImageView layoutIfNeeded];
}
}
[self checkStatusBarSeperator:scrollView.contentOffset.y];
}
- (void)clipLayoutConstraint:(NSLayoutConstraint *)constraint withPosition:(CGFloat)position defaultHeight:(CGFloat)defaultHeight {
if (position < 0) {
constraint.constant = (defaultHeight - -position - 20 > 10) ? defaultHeight - -position - 20 : 10;
} else
constraint.constant = defaultHeight;
}
clipHeightLayoutConstraint는 무엇입니까 – AVEbrahimi
@AVEbrahimi 희망 이메일을 통해 당신을 도왔습니다. – invoodoo
당신은 테이블 뷰의 레이어에 마스크를 설정하여이 작업을 수행 할 수 있습니다. 그러나 셀 내부에서 애니메이션을 렌더링 할 수는 없지만 테이블 뷰 뒤에서 직접 애니메이션을 수행하고 테이블 뷰의 scrollview 대리자 메서드로 운동을 추적 할 수 있습니다. 여기
는CALayer
마스크에 대한 몇 가지 정보입니다 :
http://evandavis.me/blog/2013/2/13/getting-creative-with-calayer-masks
내 생각은 구체적으로 상태 표시 줄 효과 아니지만, 오히려 사용자 정의 전환을하고있는 것입니다 때 jQuery과 스크롤 업 (기본적으로 투명 상태 표시 줄). – Ian
그게 내가 생각하고 있었던거야. 하지만 어떻게 셀 내용을 숨기거나 마스크 할 수 있습니까? – DZenBot
효과를 얻을 수 있었습니까? 나는 답을 찾고 있습니다. – Mark