我正在嘗試將AdWhirl整合到使用AppDelegate單例的iPhone應用程序中,以便跨多個視圖使用相同的AdWhirl實例,但無法弄清楚如何在這些視圖中調整表的大小。我使用的代碼是:當在多個視圖中顯示AdWhirl廣告時調整UITableView的大小
在... AppDelegate.h:
#import "AdWhirlView.h"
#import "AdWhirlDelegateProtocol.h"
@interface ...AppDelegate : NSObject <UIApplicationDelegate, AdWhirlDelegate>
AdWhirlView *awView;
...
@property (nonatomic, retain) AdWhirlView *awView;
在... AppDelegate.m didFinishLaunchingWithOptions:
awView = [AdWhirlView requestAdWhirlViewWithDelegate:self];
也... AppDelegate.m我添加了所需的代理方法
(NSString *)adWhirlApplicationKey...
(UIViewController *)viewControllerForPresentingModalView...
此代碼允許我在多個視圖中顯示相同的廣告,但我c請注意如何調整UITableView的大小以便在廣告顯示時將其高度縮短,以便UITableView在沒有廣告時顯示全高,或者在屏幕底部顯示廣告時調整大小。我將UITableView作爲名爲myMainView的UIViewController的子視圖。
我試圖改變在筆尖文件中的自動調整大小屬性的的UITableView有在底部具有可變墊片,和正在加入的AdWhirl實例到視圖,此代碼:
...AppDelegate * myDelegate = (...AppDelegate *)[[UIApplication sharedApplication] delegate];
[myDelegate.awView setFrame:CGRectMake(0, 480-20-44-50, 320, 50)];
[self.myMainView addSubview: myDelegate.awView];
這將顯示廣告在屏幕底部的正確位置,但UITableView沒有調整大小。我應該怎麼做?
好吧,所以我有UITableView作爲UIView的子視圖,並且我看到我需要在有廣告時手動調整這些tableView的大小。但是,我怎麼知道AdWhirl何時顯示廣告,以便我可以調整tableView的大小? – user955853
我想出瞭如何做到這一點。基本上,在ViewWillAppear中,我添加了myDelegate.awView.delegate = self;這讓我可以監聽AdWhirl發送的相應代理事件。相關的是adWhirlDidReceiveAd和adWhirlDidFailToReceiveAd。還有一個BOOL adExists,可以在視圖第一次出現以確定廣告是否已經顯示時使用。然後,我可以按照上面所述的方式爲廣告製作動畫。 – user955853
太棒了,我從來沒有使用過AdWhirl。 – Norman