英语轻松读发新版了,欢迎下载、更新

UINavigationController 的切换方式?看图说话

lingye 发布于 2014年03月20日 | 更新于 2014年03月20日
zzz6519003 等1人欣赏。

App: 面包旅行 第一张应该是 UINavigationController 默认的切换方式,第二张的切换很奇怪,是整个 UINavigationController 都被推走的感觉,求实现思路?

alt textalt text

共15条回复
zzz6519003 回复于 2014年03月20日

同求 mark

adad184 回复于 2014年03月20日

在push的时候 先对上一个veiwcontroller截图 (保留一个截图的stack) 然后pop的时候 计算手势的位置 将当前的viewcontroller 和上一个viewcontroller的位置摆到你需要的位置 就行了

github上有很多类似的实现

lingye 回复于 2014年03月20日

2楼 @adad184 不是这样的

adad184 回复于 2014年03月20日

如果你是要这种实现的话

alt text

adad184 回复于 2014年03月20日

3楼 @lingye 那我就只能坐等其他解决办法了

lingye 回复于 2014年03月20日

5楼 @adad184 求你这个类库

东张西望 回复于 2014年03月20日

我觉得可以这样,两个View Controller不要放到同一个UINavgationController里。

然后自定义一个Container View Controller,通过手势来实现两个视图的变化(GitHub上一个抽屉视图的repo可以参考)。 iOS7中还可以通过UIViewControllerTransitioning相关的class和protocol来实现(可以参考这个博文)。

adad184 回复于 2014年03月20日

6楼 @lingye 这个就是我说的那种思路 应该不是你要的

lingye 回复于 2014年03月20日

8楼 @adad184 看起来效果差不多,但仔细一看,貌似的确不是一样的,我的第二张图,你注意看他的 Home 的图标,是在内容中间的,也就是,navigation bar 跟下面的 view 移动还不是同步的,所以,不是截图实现

adad184 回复于 2014年03月20日

9楼 @lingye 左边的位置都是可以代码控制的 可以实现图上那种方式 也可以实现你说的同步的移动

实现思路已经告诉你了 为什么不自己试一下呢?

初心泽 回复于 2014年03月20日

留个脚印学习学习

lingye 回复于 2014年03月20日

10楼 @adad184 没理解我的意思,向右拖动的时候,左侧的显示内容,navigation bar 和 下面的内容 view 不是同步移动的,也就是说,左边的 view controller 并不是一张截图,当然你可以说他是两张截图,navigation bar 和 viewcontroller.view 分开截图,但我判断应该不是。

再附上两张拖动的截图,应该能说明问题

alt text alt text

adad184 回复于 2014年03月20日

12楼 @lingye 懂了 那这个可能不是截图。是自己实现了一个viewcontroller的容器

但是 截两张图也是可以做到这种效果的。。。。

lingye 回复于 2014年03月20日

13楼 @adad184 从 App 整体来看,觉得可能是系统的默认实现,并不是一个复杂的自定义实现,提出问题是想看看有没有高手有对应的思路

adad184 回复于 2014年03月20日

14楼 @lingye 恩 原生的话 其navigation bar应该不是那种状态移动的 应该是渐变的。。

本帖有15个回复,因为您没有注册或者登录本站,所以,只能看到本帖的10条回复。如果想看到全部回复,请注册或者登录本站。

登录 或者 注册
[顶 楼]
|
|
[底 楼]
|
|
[首 页]