3

我有包含scrollView的視圖。當視圖顯示時,圖像以全屏幕(320x480)出現,隱藏狀態和導航欄。當我點擊屏幕 - 狀態和導航欄出現在屏幕上。但是這個東西會將UIScrollView移到導航欄下方。我希望狀態和導航欄顯示在我的滾動視圖上。UIScrollView在導航和狀態欄下方移動

就像它發生在照片應用程序。在點擊圖像時,狀態和導航欄顯示在scrollView上方。

下面是我怎麼了定位視圖


//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];
我沒有看到這個問題。但是這混亂了我的風景定向代碼。

任何能夠闡明我可能會做錯什麼的人都會很有幫助!

回答

1

我自己找到了解決方案。 在我的抽頭檢測代碼的其他fn我在最後添加下面的行。

scrollView.contentOffset = CGPointMake(parentScrollView.contentOffset.x,0);

不確定這是否是正確的方法。但是,如果任何人都可以提出更好的方法 - 比歡迎!

+0

什麼是parentScrollView? – Dejell 2012-12-17 21:27:28

3

似乎有一些特殊的處理內部UIScrollView當導航工具欄切換。當你在你的問題的最後指出,如果你把滾動視圖含有UIView內,不會發生此重新定位問題。

要解決的問題,景觀,確保你在兩個容器視圖和滾動視圖設置autoresizingMask。在我的項目中,我不必爲橫向模式添加任何其他處理。