iPhone颠倒界面

问题描述:

我想要一个完全颠倒的界面。我不是说它应该根据手机的方向而改变。我的意思是它应该是整个时间颠倒(UIInterfaceOrientationPortraitUpsideDown)。一个按钮应该能够再次“正确”。同一个按钮应该将所有内容都倒回去。iPhone颠倒界面

实现此目的的最佳方式是什么?

设置根视图的层上的变换属性。喜欢的东西:

bool upsideDown = ... 
float degrees = upsideDown ? 180.0f : 0.0f; 
NSNumber* radians = [NSNumber numberWithFloat:degrees * M_PI/180.0f]; 
[rootView.layer setValue:radians forKeyPath:@"transform.rotation.z"]; 

(。当然,你可以很容易地优化了小公式从度转换为弧度,因为你只用0.0和PI包括它只是为了清楚起见)

如果你想要一个颠倒的界面,方向并不重要。实质上,对您使用的视图应用旋转的仿射变换,例如:

window.transform = CGAffineTransformRotate(window.transform,M_PI);

如果你有一个状态栏,那么需要一些偏移量。再次应用,然后“旋转”回来。