Code: 修正 Cordova 程式與 iOS 7 狀態列重疊

最近因為工作需要,又開始寫很久沒有碰的 Cordova(PhoneGap)
上一次使用 Cordova 已經是 1.8.0 的事了
轉眼間 Cordova 現在版本已經來到了 3.1.0
除了利用 CLI 簡化以前安裝設定的步驟之外,也能夠更方便的一次開發各個平台的程式


這次 Mowd 遇到的是 iOS 7 的狀態列問題
在之前的版本,狀態列是有高度的,所以程式就是從狀態列以後往下長
不過到了 iOS 7,狀態列變成沒有高度了,程式的內容會直接從最上面開始產生
這就會產生一個問題:程式的文字會與狀態列的文字重疊到
所以這時候我們就要對程式做一點變更來回到 iOS 6 之前的樣式

打開 MainViewController.m
搜尋

– (void)viewWillAppear:(BOOL)animated

在 function 內搜尋

[super viewWillAppear:animated];

在之前加上

if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7) {
CGRect viewBounds = [self.webView bounds];
viewBounds.origin.y = 20;
self.webView.frame = viewBounds;
}

如此一來就不會讓狀態列的文字重疊到程式內容了
在 Cordova 還沒有修正此問題前,就先用這個暫時的解法吧

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。