2014-01-20 69 views
0

我已經編程添加bannerView到我的應用程序。在iOS7上,4「和3.5」可以很好地工作,但是在iOS6上,它將標題向下移動20px,顯然是因爲狀態欄,但我希望橫幅始終適合屏幕底部,而不是下降20個像素以編程方式設置橫幅視圖以修復屏幕底部

我的代碼是這樣的:

[bannerView_ loadRequest:[GADRequest request]]; 


    [bannerView_ setFrame:CGRectMake([UIScreen mainScreen].bounds.size.width-bannerView_.frame.size.width, 
            [UIScreen mainScreen].bounds.size.height-bannerView_.frame.size.height, 
            bannerView_.frame.size.width, 
            bannerView_.frame.size.height 
            )]; 

有沒有辦法通過編程修改的增量還是什麼?基本上,橫幅需要在iOS6上移動20px。

回答

1

UIApplication曝光statusBarFrame。這會給你的狀態欄的高度(通常,20 )。然後您可以檢查用戶是否擁有iOS6並抵消橫幅廣告。通過比較來檢查NSFoundationVersionNumber <= NSFoundationVersionNumber_iOS_6_1

嘗試:

[bannerView_ setFrame:CGRectMake([UIScreen mainScreen].bounds.size.width - bannerView_.frame.size.width, [UIScreen mainScreen].bounds.size.height - bannerView_.frame.size.height - (NSFoundationVersionNumber <= NSFoundationVersionNumber_iOS_6_1 ? [UIApplication sharedApplication].statusBarFrame.size.height : 0), bannerView_.frame.size.width, bannerView_.frame.size.height)]; 

請記住,如果你想支持旋轉,你的任務會越來越困難,因爲你必須定位旋轉後的視圖,你需要使用statusBarFrame.width在景觀。

+0

感謝獅子座,但有什麼,我會用它來設置高度的代碼?我相當新手,所以如果你可以幫助代碼,將不勝感激。 – Omar

+0

@Omar見編輯。 –

+0

謝謝你,這工作真的很好! – Omar

0

如果您可以使用自動佈局,則應該說橫幅視圖的底部對齊方式等於它的超級視角底部對齊方式。在可視化格式語言中,將是「V:[bannerView_] |」。如果採取這種方法,不要忘記爲寬度,高度和水平位置添加約束條件。

如果您不能使用自動佈局,那麼您必須從橫幅原點中減去狀態欄的高度。

你可以得到[UIApplication的sharedApplication] statusBarFrame]在狀態欄的高度.size.height

相關問題