0
我創建了一個自定義表格視圖並以編程方式將它添加到表格視圖控制器內的表格視圖中。並且我設置了表格視圖滾動時標題視圖不會滾動。 對於表格視圖中的每個部分,還有一個部分標題。 問題是,當向下滾動時,表格標題視圖不會隱藏部分標題。 在viewdidload中,banner是一個從UIView繼承的自定義類。IOS表格視圖不會在表格視圖向上滾動時隱藏區段標題
- (void)viewDidLoad {
[super viewDidLoad];
self.automaticallyAdjustsScrollViewInsets = NO;
self.tableView.showsVerticalScrollIndicator = NO;
//adjust table view position
self.tableView.tableHeaderView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, ScreenWidth, HeadImgHeight)];
self.navigationController.navigationBarHidden = YES;
[self.navigationController setToolbarHidden:NO];
//add table header view
self.banner = [[Banner alloc] initWithFrame:CGRectMake(0, 0, ScreenWidth, HeadImgHeight)];
self.banner.offsetPoint = CGPointMake(ScreenWidth/2, HeadImgHeight-20);
[self.tableView addSubview:self.banner];
另外,由於我想當卷軸,我實現scrollViewDidScrll功能
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
CGFloat offsetY = scrollView.contentOffset.y;
if (offsetY < 0) {//scroll down
self.banner.frame = CGRectMake(0, 0, ScreenWidth, HeadImgHeight);
self.banner.offsetPoint = CGPointMake(ScreenWidth/2, self.banner.frame.size.height-20);
[self.banner.MonthInComeLabel setFrame:CGRectMake(ScreenWidth/4 - TITLE_WIDTH/2, HeadImgHeight-MONTH_ICON_BOTTOM_MARGIN-TOTAL_OUT_HEIGHT, TITLE_WIDTH, TITLE_HEIGHT)];
[self.banner.MonthOutComeLabel setFrame:CGRectMake(ScreenWidth*3/4 - TITLE_WIDTH/2, HeadImgHeight-MONTH_ICON_BOTTOM_MARGIN-TOTAL_OUT_HEIGHT, TITLE_WIDTH, TITLE_HEIGHT)];
[self.banner.MonthInDetailLabel setFrame:CGRectMake(ScreenWidth/4 - TITLE_WIDTH/2, HeadImgHeight-MONTH_DETAIL_BOTTOM_MARGIN-TOTAL_OUT_HEIGHT, TITLE_WIDTH, TITLE_HEIGHT)];
[self.banner.MonthOutDetailLabel setFrame:CGRectMake(ScreenWidth*3/4 - TITLE_WIDTH/2, HeadImgHeight-MONTH_DETAIL_BOTTOM_MARGIN-TOTAL_OUT_HEIGHT, TITLE_WIDTH, TITLE_HEIGHT)];
}else{
if (offsetY<=30) {
self.banner.frame = CGRectMake(0, self.tableView.contentOffset.y, ScreenWidth, HeadImgHeight-offsetY);
self.banner.offsetPoint = CGPointMake(ScreenWidth/2, self.banner.frame.size.height-20);
[self.banner.MonthInComeLabel setFrame:CGRectMake(ScreenWidth/4 - TITLE_WIDTH/2, HeadImgHeight-MONTH_ICON_BOTTOM_MARGIN-TOTAL_OUT_HEIGHT-offsetY, TITLE_WIDTH, TITLE_HEIGHT)];
[self.banner.MonthOutComeLabel setFrame:CGRectMake(ScreenWidth*3/4 - TITLE_WIDTH/2, HeadImgHeight-MONTH_ICON_BOTTOM_MARGIN-TOTAL_OUT_HEIGHT-offsetY, TITLE_WIDTH, TITLE_HEIGHT)];
[self.banner.MonthInDetailLabel setFrame:CGRectMake(ScreenWidth/4 - TITLE_WIDTH/2, HeadImgHeight-MONTH_DETAIL_BOTTOM_MARGIN-TOTAL_OUT_HEIGHT-offsetY, TITLE_WIDTH, TITLE_HEIGHT)];
[self.banner.MonthOutDetailLabel setFrame:CGRectMake(ScreenWidth*3/4 - TITLE_WIDTH/2, HeadImgHeight-MONTH_DETAIL_BOTTOM_MARGIN-TOTAL_OUT_HEIGHT-offsetY, TITLE_WIDTH, TITLE_HEIGHT)];
}else{
self.banner.frame = CGRectMake(0, self.tableView.contentOffset.y, ScreenWidth, HeadImgHeight-BANNER_FLEXIBLE_LENGTH);
self.banner.offsetPoint = CGPointMake(ScreenWidth/2, self.banner.frame.size.height-20);
[self.banner.MonthInComeLabel setFrame:CGRectMake(ScreenWidth/4 - TITLE_WIDTH/2, HeadImgHeight-MONTH_ICON_BOTTOM_MARGIN-TOTAL_OUT_HEIGHT-BANNER_FLEXIBLE_LENGTH, TITLE_WIDTH, TITLE_HEIGHT)];
[self.banner.MonthOutComeLabel setFrame:CGRectMake(ScreenWidth*3/4 - TITLE_WIDTH/2, HeadImgHeight-MONTH_ICON_BOTTOM_MARGIN-TOTAL_OUT_HEIGHT-BANNER_FLEXIBLE_LENGTH, TITLE_WIDTH, TITLE_HEIGHT)];
[self.banner.MonthInDetailLabel setFrame:CGRectMake(ScreenWidth/4 - TITLE_WIDTH/2, HeadImgHeight-MONTH_DETAIL_BOTTOM_MARGIN-TOTAL_OUT_HEIGHT-BANNER_FLEXIBLE_LENGTH, TITLE_WIDTH, TITLE_HEIGHT)];
[self.banner.MonthOutDetailLabel setFrame:CGRectMake(ScreenWidth*3/4 - TITLE_WIDTH/2, HeadImgHeight-MONTH_DETAIL_BOTTOM_MARGIN-TOTAL_OUT_HEIGHT-BANNER_FLEXIBLE_LENGTH, TITLE_WIDTH, TITLE_HEIGHT)];
}
}
}
[屏幕快照時沒有滾動]頭部視圖不消失[1]
[向下滾動屏幕截圖,沒問題] [2]
screen shot when scroll up, as you can see the section header is over the table header view
任何想法?
我不能告訴實際的問題是在這裏。但是節標題並不打算向上滾動,直到下一節到達頂部。在這一點上,你在哪裏滾動的部分標題會向上滾動(離開)。 – pnizzle
如果你的部分標題滾動你可能會讓他們tableview單元格,而不是標題意見(只是一個建議,如果這是你在之後)。 – pnizzle