知乎 iOS App 里,发现->推荐,推荐里面上半部分轮播的图片是如何随着 TableView 的滚动的?

2016-05-19 17:49:26 +08:00
 zhlooking
3077 次点击
所在节点    iDev
13 条回复
hyzjshwo
2016-05-19 19:36:20 +08:00
我没实现过这样的,不过我可能会尝试 UIScrollview + UITableview ,应该可以实现吧
hyzjshwo
2016-05-19 19:38:32 +08:00
好像有简单的方法
zhlooking
2016-05-19 20:09:27 +08:00
@hyzjshwo 谢谢 :) UIScrollView 内嵌套 UITableView 实现起来确实很蛋疼……简单的方法是?
wj2061
2016-05-19 20:14:08 +08:00
scrollview 先设好 frame , 然后设成 tableview 的 tableHeaderView
enjoeq
2016-05-19 20:19:45 +08:00
我能想到的是整个就是一个 tableview ,只是把 tableview 的 contentInset 和 indicatorInset 设为轮播图片的 view 的高度,然后再 observe tableview 的 contentOffset ,当 tableview 的 cell 向上滚动超过界限时就修改轮播图片的 origin.y ,并且同时修改 tableview 的 contentInset 和 indicatorInset 直到 0 ,大概就是这样的思路吧,不过只是猜想而已,没有实际尝试过,有错误请指正,谢谢。
cbspapapa
2016-05-19 20:21:16 +08:00
https://github.com/cbsfly
可以参考我 github 里面知乎日报的实现或者轮播广告的 demo
zhlooking
2016-05-19 20:55:24 +08:00
@wj2061 @cbspapapa 因为 headerView 被下拉控件占了,所以设置 headerView 不行啊。
@enjoeq 嗯,大概思路就是这样的。:)
kitalphaj
2016-05-20 07:55:58 +08:00
@zhlooking 如果 headerView 不行,就可以考虑把第一个 cell 设置成轮播。我在几个 App 里面都实现过,思路很清晰也很简单。
kobe1941
2016-05-20 09:47:06 +08:00
@kitalphaj 第一个不能是 tableView 的一个单独的 cel ,你看它的下拉刷新控件的位置是在轮播图片的下方。

@enjoeq 看起来像是这样,注意到在往上滑动的过程中,轮播图片未完全出来时,滑动的进度条有被手动修改
bloodshed
2016-05-23 12:38:15 +08:00
tableViewHeader
hulz413
2016-06-11 21:28:20 +08:00
我给 UIScrollView 加了个 category ,实现了无限轮播的功能,有需要可以参考下: https://github.com/hulizhen/HLZInfiniteScrollView
fhefh
2016-06-16 16:43:14 +08:00
mark~~
fhefh
2016-06-16 16:47:49 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/279827

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX