OC

Knowledge OS
鹦鹉螺口语

UINavigationController 的切换方式?看图说话

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

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

alt textalt text

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

同求 mark

2楼 · 回复
adad184 回复于 2014年03月20日

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

github上有很多类似的实现

3楼 · 回复
lingye 回复于 2014年03月20日

2楼 @adad184 不是这样的

4楼 · 回复
adad184 回复于 2014年03月20日

如果你是要这种实现的话

alt text

5楼 · 回复
adad184 回复于 2014年03月20日

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

6楼 · 回复
lingye 回复于 2014年03月20日

5楼 @adad184 求你这个类库

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

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

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

8楼 · 回复
adad184 回复于 2014年03月20日

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

9楼 · 回复
lingye 回复于 2014年03月20日

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

10楼 · 回复
adad184 回复于 2014年03月20日

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

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

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

留个脚印学习学习

12楼 · 回复
lingye 回复于 2014年03月20日

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

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

alt text alt text

13楼 · 回复
adad184 回复于 2014年03月20日

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

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

14楼 · 回复
lingye 回复于 2014年03月20日

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

15楼 · 回复
adad184 回复于 2014年03月20日

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

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