4

我希望在我的广告出现在底部的同时为我的 UIView 容器的大小设置动画。准备好后,我让广告从屏幕底部向上滑动。我希望我的 UIView 容器在广告向上滑动时减小相同的大小。

我在嵌入的顶级 UIViewController 中为我的容器视图创建了一个插座属性。

我的广告动画代码:

- (void)adViewDidReceiveAd:(GADBannerView *)view
{
    NSLog(@"Received Ad");

    [UIView animateWithDuration:1.0 animations:^ {
        view.frame = CGRectMake(0.0,
                                self.view.frame.size.height - view.frame.size.height,
                                view.frame.size.width,
                                view.frame.size.height);



        // This is where I think I would need to animate the container view.

    }];
}

如何减小容器视图的大小以匹配广告的大小?我需要容器和所有东西都保持在同一个位置,但是需要从底部移除一些高度。

4

1 回答 1

2

这很简单:只需在为横幅视图设置动画的同一块中为容器框架设置动画。它会是这样的:

[UIView animateWithDuration:1.0 animations:^ {

    view.frame = CGRectMake(0.0,
                            self.view.frame.size.height - view.frame.size.height,
                            view.frame.size.width,
                            view.frame.size.height);



     self.containerView.frame = CGRectMake( self.containerView.frame.origin.x,
                            self.containerView.frame.origin.y,
                            self.containerView.frame.size.width,
                            self.containerView.frame.size.height - view.frame.size.height);
}];

这段代码会同时将您的 containerView 减小为横幅的相同高度。您可以根据需要更改/调整。

编辑:如果您使用自动布局,您应该为约束创建一个 IBOutlet 并为其设置动画,而不是框架本身。

于 2013-09-11T02:37:21.970 回答