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包括它只是为了清楚起见)
答
我会考虑两个选项:
- 旋转画布180度
- 反转加速度计
不知道如何完成任何任务,但快速谷歌搜索显示的一些结果。
答
如果你想要一个颠倒的界面,方向并不重要。实质上,对您使用的视图应用旋转的仿射变换,例如:
window.transform = CGAffineTransformRotate(window.transform,M_PI);
如果你有一个状态栏,那么需要一些偏移量。再次应用,然后“旋转”回来。