1

我的故事板元素是 containerView 的子视图,而 containerView 是主视图的子视图。当可以显示广告时,我正在尝试调整容器视图的高度,但我无法让它发挥作用。我可以向上偏移视图,但无法调整它的大小。我看过很多关于这个的帖子,但我读过的所有建议基本上都说确认自动布局没有被选中。我已经确认没有在我的故事板的每个元素中检查自动布局,但仍然没有成功。广告横幅(位于 [0, 480] 的屏幕外,就像我想要的那样从底部很好地弹出,但它掩盖了我的故事板元素,这是完全不可接受的。我不会忍受这个!我需要一些帮助男人和女孩......请参阅下面的代码:

-(void)bannerViewDidLoadAd:(ADBannerView *)banner
{
    if (_bannerIsVisible == NO)
    {
        NSLog(@"Ad Loaded");

        [UIView beginAnimations:@"animateAdbannerOn" context:nil];

        //_containerView.frame = CGRectOffset(_containerView.frame, 0, -50);

        _containerView.frame = CGRectMake(_containerView.frame.origin.x,

                                 _containerView.frame.origin.y,

                                 _containerView.frame.size.width,

                                 _containerView.frame.size.height-50);


        banner.frame = CGRectOffset(banner.frame, 0, -50);

        [UIView commitAnimations];

        _bannerIsVisible = YES;
    }
}
4

2 回答 2

0

试试这样:

-(void)bannerViewDidLoadAd:(ADBannerView *)banner
{
if (_bannerIsVisible == NO)
{
    NSLog(@"Ad Loaded");

    [UIView beginAnimations:@"animateAdbannerOn" context:nil];

    //_containerView.frame = CGRectOffset(_containerView.frame, 0, -50);

    CGRect frame = CGRectMake(_containerView.frame.origin.x,

                             _containerView.frame.origin.y,

                             _containerView.frame.size.width,

                             _containerView.frame.size.height-50);

    [_containerView setFrame:frame];

    CGRect frame2 = banner.frame;
    frame2.origin.x = 0;
    frame2.origin.y = -50;
    [banner setFrame:frame2];

    [UIView commitAnimations];

    _bannerIsVisible = YES;
}
}
于 2014-03-03T06:33:14.573 回答
0

您刚刚更改了containerView. 这不会以任何方式改变 的子视图的框架containerView。您要么必须使 containerView 成为滚动视图,要么必须更改每个组件的框架。

于 2014-03-03T06:34:04.783 回答