2017-09-14 77 views
1

我试图按下我的tableview中的分区标题,使其与部分中的第一个单元格重叠,类似于左侧的linkedin应用程序中显示的个人资料图片:在UITableview重叠单元格中创建分区标题

linkedin app screenshot

所以,如果配置文件图像被重叠的白色视图在节中的第一行,和轮廓图像是节头。

我试过改变框架的x坐标为负值,并搞乱了标题的大小,都无济于事。

回答

0

viewForHeaderInSection()中创建一个自定义视图,您可以在其中定义头部所需的任何形状。在你的情况下,在矩形的底部中心圆圈。并将内容设置为该视图。

更改您希望在该自定义视图中透明的视图的alpha值。所以头部不需要的部分将不会显示在屏幕上。

1

我只是在LinkedIn应用程序中查看配置文件视图,我想如果我要构建类似的东西,我会将所有配置文件信息放在tableHeaderView中。因此,报头将包括以下各项:

  • 的UIImageView(背景图像)
  • 的UIView(含有简档 信息)
  • 的UIImageView(用户简档图像)

enter image description here

由于UITableView是UIScrollView的子类,因此可以使用委托方法scrollViewDidScroll为背景图像设置动画。然后你可以调整背景图像的位置,同时在tableview中滚动

@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

Thanks @Ryan!尽管我非常希望为表格视图中的每个单元格复制这种效果,而不仅仅是在顶部!现在我刚刚在单元格内创建了一个包装视图,并使单元格透明,并在单元格范围内创建了效果。虽然感觉有点像解决方法,但看看是否可以使用节标题来实现它会很有趣! – mike