美文网首页
view旋转中心不变 和强制横屏

view旋转中心不变 和强制横屏

作者: 崔又淇 | 来源:发表于2018-01-15 23:10 被阅读24次

    view旋转保证中心不变

    view的动画效果

    - (void)isShowLoadingInView:(UIView *)view meet:(NSString *)meet {

        if (!view) {

            return;

        }

        self.meetName.text = meet;

        [view addSubview:self];

        [UIView animateWithDuration:0.3 animations:^{

            self.alpha = 1;

            float centerX = view.bounds.size.width/2;

            float centerY = view.bounds.size.height/2;

            float x = view.bounds.size.width/2;

            float y = view.bounds.size.height;

            CGAffineTransform trans = GetCGAffineTransformRotateAroundPoint(centerX,centerY ,x ,y ,-90.0/180.0*M_PI);

            view.transform = CGAffineTransformIdentity;

            view.transform = trans;

        } completion:nil];

    }

    CGAffineTransform GetCGAffineTransformRotateAroundPoint(float centerX, float centerY ,float x ,float y ,float angle)

    {

        x = x - centerX; //计算(x,y)从(0,0)为原点的坐标系变换到(CenterX ,CenterY)为原点的坐标系下的坐标

        y = y - centerY; //(0,0)坐标系的右横轴、下竖轴是正轴,(CenterX,CenterY)坐标系的正轴也一样

        CGAffineTransform  trans = CGAffineTransformMakeTranslation(x, y);

        trans = CGAffineTransformRotate(trans,angle);

        trans = CGAffineTransformTranslate(trans,-x, -y);

        return trans;


    强制横屏,其他页面都是竖屏,需要横屏的页面添加方法

    - (BOOL)shouldAutorotate {

        return NO;

    }

    - (UIInterfaceOrientationMask)supportedInterfaceOrientations {

        return UIInterfaceOrientationMaskLandscape;

    }

    - (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {

        return UIInterfaceOrientationLandscapeRight;

    }

    相关文章

      网友评论

          本文标题:view旋转中心不变 和强制横屏

          本文链接:https://www.haomeiwen.com/subject/crdjoxtx.html