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;
}