UIView不会调整大小

时间:2014-03-03 06:23:55

标签: ios resize adbannerview

我的storyboard元素是containerView的子视图,而containerView是主视图的子视图。我正在尝试在广告可用时调整容器视图的高度,但我无法使其工作。我可以抵消视图,但我无法调整大小。我已经看过很多关于这个的帖子,但我读过的所有建议基本上都说要确认Autolayout没有被检查。我已经确认Autolayout没有在我的故事板的每个元素中检查,但仍然没有成功。广告横幅(放在屏幕上的[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;
    }
}

2 个答案:

答案 0 :(得分: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;
}
}

答案 1 :(得分:0)

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