我的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;
}
}
答案 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成为滚动视图或更改每个组件的帧。