App: 面包旅行 第一张应该是 UINavigationController 默认的切换方式,第二张的切换很奇怪,是整个 UINavigationController 都被推走的感觉,求实现思路?
同求 mark
在push的时候 先对上一个veiwcontroller截图 (保留一个截图的stack) 然后pop的时候 计算手势的位置 将当前的viewcontroller 和上一个viewcontroller的位置摆到你需要的位置 就行了
github上有很多类似的实现
2楼 @adad184 不是这样的
如果你是要这种实现的话
3楼 @lingye 那我就只能坐等其他解决办法了
5楼 @adad184 求你这个类库
我觉得可以这样,两个View Controller不要放到同一个UINavgationController里。
然后自定义一个Container View Controller,通过手势来实现两个视图的变化(GitHub上一个抽屉视图的repo可以参考)。 iOS7中还可以通过UIViewControllerTransitioning相关的class和protocol来实现(可以参考这个博文)。
6楼 @lingye 这个就是我说的那种思路 应该不是你要的
8楼 @adad184 看起来效果差不多,但仔细一看,貌似的确不是一样的,我的第二张图,你注意看他的 Home 的图标,是在内容中间的,也就是,navigation bar 跟下面的 view 移动还不是同步的,所以,不是截图实现
9楼 @lingye 左边的位置都是可以代码控制的 可以实现图上那种方式 也可以实现你说的同步的移动
实现思路已经告诉你了 为什么不自己试一下呢?
留个脚印学习学习
10楼 @adad184 没理解我的意思,向右拖动的时候,左侧的显示内容,navigation bar 和 下面的内容 view 不是同步移动的,也就是说,左边的 view controller 并不是一张截图,当然你可以说他是两张截图,navigation bar 和 viewcontroller.view 分开截图,但我判断应该不是。
再附上两张拖动的截图,应该能说明问题
12楼 @lingye 懂了 那这个可能不是截图。是自己实现了一个viewcontroller的容器
但是 截两张图也是可以做到这种效果的。。。。
13楼 @adad184 从 App 整体来看,觉得可能是系统的默认实现,并不是一个复杂的自定义实现,提出问题是想看看有没有高手有对应的思路
14楼 @lingye 恩 原生的话 其navigation bar应该不是那种状态移动的 应该是渐变的。。