2013年9月24日 星期二

AMIGO Controller for iOS 7


昨天處理完 iOS 7 下的新圖示尺寸,今日便是把《AMIGO Controller》的介面改回跟 iOS 6 一樣。

在以往的 iOS 下,應用程式的畫面基本上無法跟狀態欄重疊,除非是特別處理之外;現在 iOS 7 則預設已經跟狀態欄重疊,要特別處理才能跟以前的 iOS 般分開。我的處理方法如下:
 CGRect rect = [[UIScreen mainScreen] bounds];
 rect.origin.y = 0;
 self.window = [[[UIWindow alloc] initWithFrame:rect] autorelease];

 //  Fix iOS 7.0 issue
 if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0)  {
  if (isiPad == YES)  {
   [self.window setBounds:CGRectMake(20, 0, rect.size.width, rect.size.height)];
  }  else  {
   [self.window setBounds:CGRectMake(0, -20, rect.size.width, rect.size.height)];
  }
 }
那個 -20 是試出來的成果,不知為何是負數而不是正數。除了狀態欄之外,UIPopoverController 的視窗亦由以往的深藍色改為預設的淺灰色。影響視窗內白色字體的突出感。然而在 iOS 7 卻可以自行修改底色:
 if ([popoverController respondsToSelector:@selector(setBackgroundColor:)] == YES)  {
  [popoverController setBackgroundColor:PORTSETTINGSVIEW_COLOR];
 }

沒有留言: