我有一个 ViewController,其中包含几个 UILabel、一个 UIImageView 和一个 ADBannerView。有两个相关的动作:UIImageView 根据用户手持设备的角度旋转,ADBannerView 根据是否有 iAD 显示滑入视图。
如果 UIImageView 是静止的,则 ADBannerView 会正确滑入视图。但是,一旦 UIImageView 开始旋转,ADBannerView 就会消失。AFAIK 这两种观点是完全独立的。
- (void) updateFloatingBar
{
double angleToUpright = [self calculateAngleToUpright];
double newAngle = angleToUpright - self.currentAngle;
[self.FloatingBarImageView setTransform:CGAffineTransformMakeRotation(newAngle*(CGFloat)(M_PI/180))];
}
- (void) hideAd
{
NSLog(@"Ad Hidden");
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1.0];
[UIView setAnimationTransition:UIViewAnimationTransitionNone forView:self.adBannerView cache:YES];
self.adBannerView.frame = CGRectMake(0,self.view.bounds.size.height + 50,50,320);
[UIView commitAnimations];
}
- (void) showAd
{
NSLog(@"Ad Shown");
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1.0];
[UIView setAnimationTransition:UIViewAnimationTransitionNone forView:self.compassADBannerView cache:YES];
self.compassADBannerView.frame = CGRectMake(0,self.view.bounds.size.height - 50,50,320);
[UIView commitAnimations];
}
同样,第一种方法可以正常工作,它还具有将 showAd 放置的 adBannerView 推到屏幕外的次要效果: