最近闲着没事就想找事干,好久不写OC了,就动手练练写个小demo玩玩。看视频的时候感觉爱奇艺的视频类型选择标签还不错,就模仿写了一个,写的不好纯属练手。demo链接:https://github.com/Temperament-YX/-Demo.git
部分1.gif大题思路:采用了头部是tableView,然后每个cell上面嵌套UICollectionView 来做的。本来是想用scrollerView 利用for循环添加label,后来才觉醒。只要思路清晰了半个小时就写完了,因为没有什么难点,浪费时间的一点是在滑动控制偏移的时候,脑子转的不够快。
-(void)scrollViewDidScroll:(UIScrollView *)scrollView{
CGFloat offsetY = scrollView.contentOffset.y;
self.subView.frame = CGRectMake(0, -scrollerToRect+64, self.view.frame.size.width, headerHeight);
NSLog(@"%lf",offsetY);
if (offsetY > 0 && offsetY < headerHeight) {
scrollerToRect = offsetY;
self.subView.frame = CGRectMake(0, -scrollerToRect+64, self.view.frame.size.width, headerHeight);
self.tableview.frame = CGRectMake(0, headerHeight - offsetY, self.view.bounds.size.width, self.view.bounds.size.height - headerHeight + offsetY);
if (offsetY>140) {
if (headerHeight - offsetY <= 105) {
[UIView animateWithDuration:0.2 animations:^{
self.tittleView.alpha = 1.0 - (headerHeight - offsetY)/105;
}];
}else{
self.tittleView.alpha = 1;
}
}
}else if(offsetY<=0) {
self.subView.frame = CGRectMake(0, 64, self.view.frame.size.width, headerHeight);
self.tableview.frame = CGRectMake(0, headerHeight + 64, self.view.bounds.size.width, self.view.bounds.size.height-headerHeight);
self.tittleView.alpha = 0;
}else{
self.tittleView.alpha = 1;
}
}
网友评论