iphone-sdk-3.0 - UIScrollView 在导航和状态栏下方移动

标签 iphone-sdk-3.0 uiscrollview overlay uinavigationbar statusbar

我有一个包含 ScrollView 的 View 。当 View 显示时,图像以全屏 (320x480) 显示,隐藏状态和导航栏。当我点击屏幕时 - 状态和导航栏出现在屏幕上。但是这个东西将 UIScrollView 移到导航栏下方。我希望状态和导航栏显示在我的 ScrollView 上。

就像它发生在照片应用程序中一样。点击图像时,状态和导航栏会显示在 ScrollView 上。

下面是我如何定位 View


//What I have done in viewDidLoad
[[UIApplication sharedApplication] setStatusBarHidden:YES animated:NO];
self.wantsFullScreenLayout = YES;
scrollView = [[UIScrollView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];
self.view = scrollView;

下面是我在检测单击时所做的


- (void)tapDetectingImageView:(TapDetectingImageView *)view             gotSingleTapAtPoint:(CGPoint)tapPoint {
    // single tap hide/unhide the status and nav bar
    NSLog(@"got a single tap");
    if (self.navigationController.navigationBarHidden == NO)
    {

        [self.navigationController setNavigationBarHidden:YES animated:NO];
        [[UIApplication sharedApplication] setStatusBarHidden:YES animated:YES];
    }
    else
    {
        [[UIApplication sharedApplication] setStatusBarHidden:NO animated:YES];
        [self.navigationController setNavigationBarHidden:NO animated:NO];
    }
}

只是给你们一个指针 - 如果我使用

[self.view addSubview:scrollView];
我没有看到这个问题。但这弄乱了我的横向代码。

任何可以阐明我可能做错了什么的人 - 都会有很大的帮助!

最佳答案

切换导航工具栏时,UIScrollView 中似乎有一些特殊处理。正如您在问题末尾指出的那样,如果将 ScrollView 放在包含 UIView 中,则不会发生此重新定位问题。

要解决横向问题,请确保在容器 View 和 ScrollView 上都设置了 autoresizingMask。我不必在我的项目中为横向模式添加任何额外的处理。

关于iphone-sdk-3.0 - UIScrollView 在导航和状态栏下方移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1192195/

相关文章:

ios - 关闭 UIScrollView 中的缩放

jquery - 由jquery生成的div中的css center div

html - Youtube Overlay Image Div - Autoplay Underneath

iphone - 将CATiledLayer添加到UIView时出现无限循环

iphone - 应用崩溃! (附日志)

xcode - 上传到 iTunes Connect 时如何解决 "Application failed codesign verification"?

ios - 如何更新 iOS PhotoScroller 示例代码

IPHONE:测试 View 是否位于 super View 上

ios - 仅当隐藏文本字段时才使用键盘移动 View

jquery - Safari 中的 jquery 工具覆盖问题