我有包含滚动视图的视图。当视图显示时,图像会以全屏 (320x480) 形式显示,隐藏状态栏和导航栏。当我点击屏幕时 - 状态和导航栏出现在屏幕上。但是这个东西将 UIScrollView 移到了导航栏下方。我希望状态和导航栏显示在我的滚动视图上。
就像照片应用程序中发生的那样。点击图像时,状态和导航栏会显示在滚动视图上。
下面是我如何定位视图
//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];
I dont see this issue. But this mess up my landscape orientation code.
任何能够阐明我可能做错的事情的人都会有很大的帮助!
里面好像有一些特殊的处理UIScrollView
当导航工具栏切换时。正如您在问题末尾指出的那样,如果您将滚动视图放在包含的内容中UIView
,则不会出现这种重新定位问题。
要解决景观问题,请确保您正在设置autoresizingMask
在容器视图和滚动视图上。我不需要在我的项目中为横向模式添加任何额外的处理。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)