旋转一个UIView导致另一个被推出OffScreen

时间:2013-04-02 15:38:38

标签: objective-c xcode uiview iad

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

0 个答案:

没有答案