我試圖得到一個ADBannerView的呈現寬度,但它似乎總是同我UIScreen的mainScreen的寬度:如何在iOS 7中獲得ADBannerView的渲染寬度?
adBannerView = [[ADBannerView alloc] init];
[self.navController.view addSubview:adBannerView];
NSLog(@"Banner's width: %f.", adBannerView.frame.size.width);
NSLog(@"Screen's width: %f.", [UIScreen mainScreen].bounds.size.width);
兩個日誌上面顯示相同的值。我想最終水平居中我的旗幟使用下面的代碼,但寬度我從旗幟的框架背部必須呈現寬度:
adBannerView.frame = CGRectOffset(adBannerView.frame, ([UIScreen mainScreen].bounds.size.width - adBannerView.frame.size.width)/2.0f, 0);
那麼,如何獲得ADBannerView的呈現寬度?
無,這是行不通的。設置框架不會正確居中。廣告進入時,它會佔據特定的大小。這正是我想用CGRectOffset做的上面所描述的,但是描述了它不起作用。此外,使用硬編碼大小已被棄用,這就是爲什麼我針對iOS 7的這個問題,所以我不想走在使用該選項的道路上。另外,setBounds需要一個CGRect,而不是NSSize。 – Alexandru
此外,即使使用sizeThatFits也會返回與[UIScreen mainScreen] .bounds.size.width相同的值。因此,回到試圖再次居中的問題上,因爲顯示的廣告不佔用整個屏幕的寬度! – Alexandru
看起來,它一直不適合我的原因是因爲我的應用程序委託繼承了CCAppDelegate,因爲我使用的是Cocos2D,而且我沒有將我的應用程序寬度與導演寬度進行比較。 – Alexandru