2010-01-18 74 views
0

我正在構建具有圖片查看功能的應用程序。我已經將UIScrollView野獸摔倒在地(希望發佈我的scrollview知識RSN),並且現在正在嘗試複製iPhone照片應用程序的其他一些視覺效果。具體來說,在查看圖像時,我想將控件和酒吧分開。如何從iPhone複製動畫照片應用程序

我有一種方法,切換狀態欄,導航欄和標籤欄的可見性,只留下帶有圖像的滾動視圖。滾動視圖是全屏。我有一個計時器,在用戶做了一些事情(單擊屏幕,查看下一個圖像等等)3秒後觸發,並在timerFired方法中,我打電話給我的方法關閉酒吧。屏幕上點擊一下即可打開酒吧。這裏是切換全屏狀態的方法。

- (void)setFullScreen:(BOOL)fullScreen { 
    // reset the timer 
    [myTimer invalidate]; 
    [myTimer release]; 
    myTimer = nil; 

    // start animation section 
    [UIView beginAnimations:nil context:nil]; 
     // toggle the status bar  
     [[UIApplication sharedApplication] setStatusBarHidden:fullScreen animated:YES]; 
     [UIView setAnimationDuration:UINavigationControllerHideShowBarDuration]; 
     CGFloat alpha = fullScreen ? 0.0 : 1.0; 
     // change the alpha to either 0 or 1 based on hiding or showing the bars 
     self.navigationController.navigationBar.alpha = alpha; 
     self.tabBarController.tabBar.alpha = alpha; 

    // do the animations! 
    [UIView commitAnimations]; 

    // restart the timer after we show the bars  
    if (!fullScreen) { 
     myTimer = [[NSTimer timerWithTimeInterval:3.0 target:self selector:@selector(timerFired:) userInfo:nil repeats:NO] retain]; 
     [[NSRunLoop currentRunLoop] addTimer:myTimer forMode:NSDefaultRunLoopMode]; 
    } 
} 

這基本上工作,但它看起來不如照片應用程序。我將alpha值設置爲動畫,因爲我相信這看起來更像是照片應用程序,而不是使用可用的隱藏動畫方法。我的問題是爲狀態欄做同樣的事情。

我的問題: (1)有沒有UIView的狀態欄? (2)有沒有辦法改變狀態欄的alpha屬性? (3)是另一個UIWindow中的狀態欄? (4)有沒有另一種方法來實現這個使用「合法」的方法(我需要把這個應用程序在應用程序商店)?

我已經傾倒了UIApplication的windows屬性,只有一個窗口,我爬過了視圖層次結構,並且沒有明顯的狀態欄視圖。

有什麼想法?

+0

我無法幫助您使用動畫代碼,但我一定會希望看到您的UIScrollView代碼。 – 2010-01-18 17:06:30

+0

當您有機會時,請分享您的滾動視圖代碼。我們中的許多人一直在努力模仿iphone照片應用程序,但收效甚微。 – Jonah 2010-06-18 01:40:44

回答

0

狀態欄由SpringBoard本身創建,它是SBStatusBar類(IIRC從UIWindow繼承的)。應用商店應用無法訪問它。

+0

如果我在我的應用程序中使用另一個窗口,該窗口是否會自動獲取狀態欄?也就是說,我可以使用兩個窗口(一個帶有酒吧,一個沒有),並使用動畫在它們之間轉換以在酒吧上獲得更平滑的解散? – FingerTipFun 2010-01-20 13:05:04

+0

永遠不要使用多個UIWindows。它只是不會導致好事。 – 2010-01-21 00:38:44

+0

感謝您的信息。 – FingerTipFun 2010-01-27 02:54:46

相關問題