UIView 不会调整大小



我的故事板元素是容器视图的子视图,容器视图是主视图的子视图。 当广告可以展示时,我正在尝试调整容器视图的高度,但我无法使其正常工作。 我可以向上偏移视图,但无法调整其大小。 我已经看过很多关于这个的帖子,但我读过的所有建议基本上都是确认未检查自动布局。 我已经确认在我的情节提要的每个元素中都没有检查自动布局,但仍然没有成功。广告横幅(放置在屏幕外的 [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;
    }
}

像这样尝试:

-(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;
}
}

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

相关内容

  • 没有找到相关文章

最新更新