UITableView에 투명한 섹션 헤더가 있습니다.이 섹션에서는 셀이 뒤에 스크롤되도록해야하지만 셀 대신 테이블 뷰 뒤에있는 배경 이미지를 표시해야합니다. 섹션 헤더에 일종의 클리핑 마스크를 적용하여 그 아래에있는 뷰를 투명하게 만들거나 헤더의 배경으로 배경 이미지의 적절한 부분을 표시하고 헤더가 움직일 때 따르는 방법이 필요합니다.배경을 제외한 UIView 아래의 모든 뷰를 마스크합니다.
나는이 How to mask UITableViewCells underneath a UITableView Transparent Header을 보았지만 광고 된대로 작동하지 않으며 일반적으로 나쁜 구현입니다. 섹션 헤더의 서브 클래스에서
- (void)drawRect:(CGRect)rect
{
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, [UIColor clearColor].CGColor);
CGContextFillRect(context, self.frame);
CGContextSetBlendMode(context, kCGBlendModeClear);
}
, 그러나 이것은 단지 검은 배경보기를 보여줍니다
나는 또한이 시도했다. 더 설명이 필요하면
, 여기에 내가 무엇을 가지고 :
을 여기에 내가 달성하고자하는 것입니다 :
이 질문에 대해 두 가지가 나에게 충격을줍니다. 첫 번째는 아마도 뷰 계층 구조가 모두 잘못되었다는 것입니다. 두 번째는 SpriteKit 등을 사용해야하는 UIKit에서 고급 그리기를 시도하는 것처럼 들리는 것입니다. 배경을 보여주기 위해 다른보기를 숨기려는 시도가 마음에 들지 않습니다. 배경 이미지를 가져 와서 다시 부동 뷰 뒤에 배치하는 것이 좋습니다. 경계를 사용하여 오프셋 할 수 있습니다. 프레임과 경계 조작의 차이점을 연구합니다. – rage
어쩌면 나는 그것을 더 잘 설명해야한다 : 문제는 UITableView의 투명한 섹션 헤더로, 셀은 아래로 스크롤 할 수 있지만 셀 대신 배경을 표시해야한다. 나는 원래의 질문에이 정보를 추가하여 설명을 추가 할 것이다. – damjandd
좋아, 그럼 내 제안과 함께 갈거야 : 배경 이미지를 다시 받아 섹션 헤더보기에 적용하고 경계를 사용하여 오프셋. – rage