图像视图在滚动视图中隐藏导航栏

Posted

技术标签:

【中文标题】图像视图在滚动视图中隐藏导航栏【英文标题】:Image view hide navigation bar in scroll view 【发布时间】:2013-02-06 20:45:59 【问题描述】:

在我的 ipad 应用中,滚动视图中有一个导航栏和一个图像视图。 当我运行我的应用程序时,图像视图会隐藏导航栏。 所以,我删除图像视图并再次运行,然后我看到导航栏。 但是,我无法单击导航栏中的按钮。 请告诉我如何解决?

【问题讨论】:

你如何添加你的观点?通过代码或XIB,如果代码然后向我们展示请,, ScrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width,self.view.frame.size.height)]; ScrollView.pagingEnabled = YES; ImageView = [[UIImageView alloc] initWithFrame:CGRectMake(xOrigin, 0,self.view.frame.size.width, self.view.frame.size.height)]; 我觉得size.view.frame.size.height有问题。 看来 UIScrollView 在你的 navigationBar 之上,如果不是 navigationController ,你应该从 y = 44,, ScrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 44, self.view.frame.size.width,self.view.frame.size.height)]; 【参考方案1】:

注意视图的层次结构,如果 UIScrollView 在视图之上,那么它后面的任何视图都不会收到任何触摸事件。 使用 XIB 添加的导航栏是主视图中子视图的一部分,因此您必须在导航栏下启动 UIScrollView ,y = 44

ScrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 44, self.view.frame.size.width,self.view.frame.size.height-44)];

并且不要忘记从 ScrollView 高度减去 44 以适应屏幕。

【讨论】:

感谢您的指导。您的回答对我的发展非常有用。我感谢您的帮助。再次感谢阿齐兹。

以上是关于图像视图在滚动视图中隐藏导航栏的主要内容,如果未能解决你的问题,请参考以下文章

iOS导航栏在滚动时被隐藏(也是一种滚动),无论它在滚动视图之外

iOS:滚动表格视图时隐藏和显示自定义导航栏

如何在滚动时隐藏导航栏,除非在屏幕顶部

当用户快速滚动表格视图时如何隐藏和取消隐藏导航栏?

UIScrollView 在导航和状态栏下方移动

隐藏导航栏并移动表格视图部分标题