ios - 用于多个 View 的单个 ADBannerViewDelegate

标签 ios iad adbannerview

我正在尝试在 iOS 应用程序中为多个 View 实现 simgle AdBanner 实例。要在 viewController 中实现 AdbannerDelegate,必须执行以下操作 横幅 View .委托(delegate)= self ; 其中bannerview 是AdBannerView 的实例。然而,这个委托(delegate)方法必须在每个 viewController 中实现,这会导致大量重复代码。如何构建一个实现所有委托(delegate)方法的简单类,然后在每个 viewController 中调用使用它们。

最佳答案

我认为您使用的 viewController 是 UIViewController 的子类。
你是说所有的 viewController 都有相同的委托(delegate)方法。

所以,我想做的是通过子类化UIViewController创建新的ViewController类(UIDelgateViewController)并在那里添加所有委托(delegate)方法,并拥有所有其他方法viewControllers 子类 UIDelgateViewController

代码是这样的,
.h 文件->

@interface UIDelegateViewController : UIViewController<ADBannerViewDelegate>
@property ADBannerView *bannerView;
@end

.m 文件 ->

#import "UIDelegateViewController.h"

@interface UIDelegateViewController ()

@end

@implementation UIDelegateViewController

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
    }
    return self;
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    _bannerView = [[ADBannerView alloc] init];
    _bannerView.delegate =self;
}

-(void)bannerDelegateMethod{

}

现在你的一些viewController ->

#import "UIDelegateViewController.h"

@interface SomeViewController : UIDelegateViewController

@end


#import "SomeViewController.h"

@interface SomeViewController ()

@end

@implementation SomeViewController

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
    }
    return self;
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    [self.view addSubview:self.bannerView];
    self.bannerView.frame = ..../
}

关于ios - 用于多个 View 的单个 ADBannerViewDelegate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21315148/

相关文章:

ios - 如何使用 CoreLocation 在您当前的位置添加注释

ios - 使用多点连接框架并保存发现的附近设备

ios - 如何在 GameOverScene 中从 GameViewController 调用方法

iOS:Admob 智能横幅不占据全宽

ios - 受限于横幅 View 的 View 突然跳跃而不是缓慢动画

swift - ADBannerView 问题

ios - 模拟器中的照片应用程序无法正常工作

ios - 什么是 PBItemCollectionServicer?

objective-c - iAd 插页式委托(delegate)​​方法未被调用

ios - Apple 如何计算 iAd 横幅的展示次数?