微信拖动效果实现思路

2013-11-14 17:29:48 +08:00
 Veelian
微信的消息列表,往下拖动能够显示后面的微信logo,这两个view(或layer),怎么叠放来实现这种效果?
4262 次点击
所在节点    iDev
12 条回复
bighair
2013-11-14 18:12:20 +08:00
logo 是在 self.view 上吧


前面消息列表是 UITableView ,
tableView_.backgroundView = nil;
tableView_.backgroundColor = [UIColor clearColor];
Veelian
2013-11-15 15:38:59 +08:00
@bighair 试过,不行。
yellowV2ex
2013-11-15 15:42:21 +08:00
tableview变透明底,然后tableview下面加个背景就好啦
要用UIViewController
Veelian
2013-11-15 15:52:06 +08:00
@yellowV2ex 我也是这么想的,可这样不行,你可以试下。
bighair
2013-11-15 16:08:37 +08:00
@Veelian 你应该是在 7 的模拟器试的吧~

你需要这句

self.automaticallyAdjustsScrollViewInsets = NO ; // 禁用 ScrollView 自动延伸到导航栏及状态栏
bighair
2013-11-15 16:11:25 +08:00
@Veelian

对了,表视图的纵坐标也要从 64 开始, 如→ initWithFrame:CGRectMake(0, 64, 320, 568)

因为在 7 里 滚动视图 默认有很大改变~ 默认延伸到了 导航栏 之下,为了体现毛玻璃的特性,所以就把 self.view 盖住了。
gluttony
2013-11-19 16:26:41 +08:00
@Veelian 把消息列表页放在一个UIScrollView里,并且设置UIScrollView的属性 bounces = YES 和 alwaysBounceVertical = YES 。

https://gist.github.com/gluttony/7542040
Veelian
2013-11-20 11:47:28 +08:00
@gluttony thanks,还是不行,[_containerView addSubview:logoImageView]; 这样会让拖动_containerView的时候,logoImageView也跟着动。
gluttony
2013-11-20 12:50:12 +08:00
@Veelian 修改了以下gist,这回可以了。

http://gist.github.com/gluttony/7542040
Veelian
2013-11-20 14:16:24 +08:00
@gluttony thanks,这些方法我都有试过,按照逻辑是这样的,但是实际效果却不行,你有把代码跑一下试试吗?
gluttony
2013-11-20 15:09:34 +08:00
Veelian
2013-11-20 15:30:04 +08:00
@gluttony 就是它了,灰常感谢。

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

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

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

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

© 2021 V2EX