2014年1月14日 星期二

《AMIGO Controller》開發記錄:伸縮搖桿

Joystick Panel

這是《AMIGO Controller 2.00》的終端機畫面。搖桿能隨意收起,方便查看更多的訊息。花了很多時間才完成。原因是在 iOS 6 跑得好好地,但在 iOS 7 中則出現問題。如:畫面下半部份接觸不良。以下是我的解決方案。在 Root View Controller 的 viewDidLoad 加入:
//  Fix for iOS 7 frame size not update anymore issue
int topMargin = 0;
if (_appManager.iosVersion < 7.0f)  {topMargin = 20;}

CGRect rect = [[UIScreen mainScreen] bounds];
CGRect applicationFrame = CGRectMake(0, 0, rect.size.width, rect.size.height-topMargin);
if (isiPad == YES)  {applicationFrame = CGRectMake(0, 0, rect.size.height, rect.size.width-topMargin);}
[self.view setFrame:applicationFrame];
[self.view setAutoresizingMask:UIViewAutoresizingNone];

其實重要的是最後那句 [self.view setAutoresizingMask:UIViewAutoresizingNone]。不過只限 iOS 7;如果在 iOS 6 跑這句,就到 iOS 6 接觸不良。

沒有留言: