ios - UITableView 在 iAd 下滚动

标签 ios xcode iad

我想在屏幕底部显示 iAd.. 我尝试添加 subview ,但 iAd 显示在单元格中,而他隐藏了他。

如何让tableView在iAd下方滚动?

我的代码:

- (void)viewDidLoad
{
    [super viewDidLoad];

    [self createAdBannerView];
    [self.view addSubview:self.adBannerView];

}

#pragma mark - ADBannerViewDelegate

- (void)bannerViewDidLoadAd:(ADBannerView *)banner
{
    [self adjustBannerView];
}

- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error
{
    [self adjustBannerView];
}

- (BOOL)bannerViewActionShouldBegin:(ADBannerView *)banner willLeaveApplication:(BOOL)willLeave
{
    return YES;
}

- (void)bannerViewActionDidFinish:(ADBannerView *)banner
{
}

- (void) adjustBannerView
{
    CGRect contentViewFrame = self.view.bounds;
    CGRect adBannerFrame = self.adBannerView.frame;

    if([self.adBannerView isBannerLoaded])
    {
        CGSize bannerSize = [ADBannerView sizeFromBannerContentSizeIdentifier:self.adBannerView.currentContentSizeIdentifier];
        contentViewFrame.size.height = contentViewFrame.size.height - bannerSize.height;
        adBannerFrame.origin.y = contentViewFrame.size.height;
    }
    else
    {
        adBannerFrame.origin.y = contentViewFrame.size.height;
    }
    [UIView animateWithDuration:0.5 animations:^{
        self.adBannerView.frame = adBannerFrame;
        self.contentView.frame = contentViewFrame;
    }];
}

- (void) createAdBannerView
{
    self.adBannerView = [[ADBannerView alloc] initWithFrame:CGRectZero];
    CGRect bannerFrame = self.adBannerView.frame;
    bannerFrame.origin.y = self.view.frame.size.height;
    self.adBannerView.frame = bannerFrame;

    self.adBannerView.delegate = self;
    self.adBannerView.requiredContentSizeIdentifiers = [NSSet setWithObjects:ADBannerContentSizeIdentifierPortrait, ADBannerContentSizeIdentifierLandscape, nil];
}

编辑:

如何防止这种情况发生? 我想将 iAd 保留在底部..

enter image description here

提前致谢!

最佳答案

如果您使用自动布局,我之前所做的就是向 super View 的底部空间的约束添加一个导出(假设您在 View 中有一个表格 View )。

然后,您可以在加载广告时调整回调中的约束,例如执行以下操作

tableViewBottomSpaceConstraintOutlet.constant -= adBannerView.frame.size.height;

其中 tableViewBottomSpaceConstraintOutlet 是底部空间上 super View 约束的导出,adBannerView 是广告横幅的 View 。

关于ios - UITableView 在 iAd 下滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16606399/

相关文章:

android - cocos2dx 应用程序的 Assets 大小

php - 要将我的 Codeigniter PHP Web 应用程序转换为 iOS 应用程序,我应该做的第一件事是什么?

objective-c - clickedButtonAtIndex : not working

XCode/AppleScriptObjC 新手

ios - 'NSInvalidArgumentException',原因 : 'Receiver has no segue with identifier ' unwind''

ios - 以编程方式更改多个按钮

xcode - 从 Swift 1.2 - 2.0 更新 tableView 代码

iphone - iAd 和 Admob 集成

iphone - 是否可以将 iAd 和 AddMob 集成到单个应用程序中?

ios - 有什么可以激活 iAd 的吗?