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