UINavigationController在iPhone上作为popover?

时间:2013-11-03 13:07:20

标签: ios iphone objective-c uiviewcontroller ios7

如何使用iOS 7中引入的自定义UIViewController转换,在iPhone 上呈现带有导航栏的UINavigationController,如popover ? 我用标准的UIViewController和过渡动画师完成了这个:

http://www.bytolution.com/Screenshot%202013.11.02%2015.25.34.png

当使用UINavigationController尝试相同时,结果如下:

http://bytolution.com/Screenshot%202013.11.02%2015.27.10.png

在WWDC session 218(需要登录),Apple工程师演示了我想要实现的确切内容:

http://bytolution.com/Screen%20Shot%202013-11-03%20at%2013.50.17.png

不幸的是我无法在任何地方找到示例代码。

如果您想查看我的代码,请访问Github.com/bytolution/Apsiape

提前致谢!

3 个答案:

答案 0 :(得分:1)

我会看一下WYPopoperController,它在iPhone上做你想做的事:https://github.com/nicolaschengdev/WYPopoverController

答案 1 :(得分:0)

iPhone不支持UIPopoverController类,所有Modal转换都是全屏的。然而很明显,你展示的屏幕截图存在。

任何视图控制器都可以提取其视图并在另一个视图中显示。这就是那里做的事情。在背景上放置一个黑色视图,不透明度为30%," popover"视图添加在其上。为了增加效果,可以将识别的轻击手势添加到黑色掩蔽视图以在用户轻敲弹出时解除弹出。

答案 2 :(得分:0)

我终于想出了如何自己做。我改进了我的谷歌搜索,发现了一个 嵌入式UINavigationController 的技巧。这对于自定义视图控制器转换也很有用,因为它工作得很好。您可能想查看this stackoverflow.com question

如果您需要代码,则会在我的project on GitHub