繁体   English   中英

无法从超级视图中删除视图

[英]Unable to remove view from superview

我正在使用横​​幅代码,在下面的示例代码中显示横幅

   HZBannerAdOptions *options = [[HZBannerAdOptions alloc] init];
        [HZBannerAd requestBannerWithOptions:options success:^(HZBannerAd *banner) {
            [viewController.view addSubview:banner];
        } failure:^(NSError *error) {
            NSLog(@"Error = %@",error);
        }];

但是,当我想隐藏/删除横幅时,可以使用它。

[self.currentBannerAd removeFromSuperview];
    self.currentBannerAd = nil;

但它不起作用,横幅仍然存在,我尝试了一些变体,例如

[currentBannerAd setHidden:YES];

没有成功,有什么想法如何从视图中删除此横幅?

当您将横幅添加到视图时,您没有对其的引用,您必须将其分配给以下属性:

HZBannerAdOptions *options = [[HZBannerAdOptions alloc] init];
[HZBannerAd requestBannerWithOptions:options success:^(HZBannerAd *banner) {
    self.currentBannerAd = banner;
    [viewController.view addSubview:self.currentBannerAd];
} failure:^(NSError *error) {
    NSLog(@"Error = %@",error);
}];

然后使用您自己的代码将其删除,只需添加layoutIfNeeded行:

[self.currentBannerAd removeFromSuperview];
self.currentBannerAd = nil;
[viewController.view layoutIfNeeded];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM