1

我一直在到处寻找解决此问题的方法,但找不到...

我有一个类似于 facebook 的 UIImageView,如果你点击屏幕,图像文本和 UINavigationBar 就会出现。问题是 UINavigationBar 在出现时将所有内容向下推......

有没有办法将它放在更高的独立层或其他不会影响视图的其余部分的东西?

提前致谢。

4

2 回答 2

0

我假设当用户点击 imageView 时,它的代码正在执行推送。你应该做的是使用 UIViewController 的 'presentViewController:' 方法。你有一些关于动画如何发生的选项,虽然这个视图将占据屏幕,但它不会被“推送:”或看起来被“推送”。在这种情况下,新视图是它自己的 UIViewController 子类的控制器。[我使用这种技术。]

其他选项是查看 UIView 的 '+ (void)transitionFromView:(UIView *)fromView toView:(UIView *)toView duration:(NSTimeInterval)duration options:(UIViewAnimationOptions)options completion:(void (^)(BOOL finished) )completion' 方法,并将新视图旋转到视图中。然后,您的原始视图控制器也将控制此视图,您可以做您想做的事,然后当用户点击某些东西时,您会返回原始视图。[我也使用这种技术]。

编辑:

您在评论中澄清的问题的解决方案是将导航栏上的属性设置为透明。在 iPad 上,现在没有 Xcode,但你会在类描述中看到它。

于 2012-08-25T12:30:30.817 回答
0

由于我找不到一种方法来使内容与导航栏是否存在无关,因此在显示栏时我只是将内容向上移动了 22px(UINavigationBar 的默认高度)。这完美地解决了我的问题。

于 2012-08-28T13:56:16.467 回答