我正在構建具有圖片查看功能的應用程序。我已經將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屬性,只有一個窗口,我爬過了視圖層次結構,並且沒有明顯的狀態欄視圖。
有什麼想法?
我無法幫助您使用動畫代碼,但我一定會希望看到您的UIScrollView代碼。 – 2010-01-18 17:06:30
當您有機會時,請分享您的滾動視圖代碼。我們中的許多人一直在努力模仿iphone照片應用程序,但收效甚微。 – Jonah 2010-06-18 01:40:44