从另一个类中删除 AdView

Posted

技术标签:

【中文标题】从另一个类中删除 AdView【英文标题】:Remove AdView from another class 【发布时间】:2016-08-17 23:40:39 【问题描述】:

我目前正在处理我的应用中的应用内购买,该应用在许多不同的视图中都有广告,但是当有人购买删除广告时,我想删除广告。这就是我现在正在做的事情:

每个类头中有FBAdView 然后我去我想删除它的地方。

PurchaseViewController.m

在界面中:

@property (copy, nonatomic) RVModelViewController *modelViewController;
@property (copy, nonatomic) RVExportViewController *exportViewController;

然后我们初始化它:

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil

    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) 
        _modelViewController = [[RVModelViewController alloc] init];
        _exportViewController = [[RVExportViewController alloc] init];
    
    return self;

removeAds 方法:

 - (IBAction)removeAds:(UIButton *)sender 

        // banner ads
        FBAdView *banner1 = self.adView;
        FbAdView*banner2 = _modelViewController.adView

        // interstitial ads
        FBAdView *int1 = self.adView2;

        [banner1 removeFromSuperview];


         // Banner 2 cant be removed as it is in another class
        [banner2 removeFromSuperview];


       [int1 removeFromSuperview];
      

你能帮帮我吗,我对 ios 编程还很陌生。我不知道如何从另一个类更改 UI。

【问题讨论】:

【参考方案1】:

设计必须考虑到您想要影响其外观/行为的视图控制器尚未创建的(非常常见的)情况。

为此,应用程序应记住用户偏好,并且在每个视图控制器中的 viewWillAppear 之类的内容上,如果设置了用户偏好(无广告),则调用您的 removeAds 代码。这可能是将代码放入所有视图控制器的公共超类的良好候选者。

【讨论】:

以上是关于从另一个类中删除 AdView的主要内容,如果未能解决你的问题,请参考以下文章

Nextjs如何从另一个页面中删除html类

Swift:删除 Spritekit 中不同场景的广告

从另一个视图中删除现有数据

从另一个进程中删除互斥锁

从集合中删除文档并从另一个集合中的数组中删除 Id

从另一个方法中删除 NSManagedObjectContext 中的对象