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

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;

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容