我有一个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的辅助效果: