旋转主屏幕并旋转返回子视图
问题描述:
如何旋转我的基本视图并仍然确保其子视图仍位于正确的位置?旋转主屏幕并旋转返回子视图
--------
|X | After 90 degree rotate and stretch
| | this should remain the same
| |
| Y|
--------
我认为我需要旋转90度,根据窗口比率拉伸,并在子视图上执行相反的操作?
下不工作...
- (void) performTransformation:(UIView*)view isBase:(BOOL)isBase
{
if(isBase) {
[view.layer setAffineTransform:CGAffineTransformConcat(
CGAffineTransformMakeRotation(M_PI * 0.5),
CGAffineTransformMakeScale(-(3.0/4.0), (4.0/3.0)))];
} else {
[view.layer setAffineTransform:CGAffineTransformConcat(
CGAffineTransformMakeScale(-(4.0/3.0), (3.0/4.0)),
CGAffineTransformMakeRotation(-M_PI * 0.5))];
}
答
你响应设备的方位改变转动?如果是这样,您可以使用UIViewController
的-shouldAutorotateToInterfaceOrientation:
方法旋转视图。
要做你正在描述的事情,你可以设置个人UIView
的'autoresizingMask
属性。在你的榜样,你会做到以下几点:
[viewX setAutoresizingMask:(UIViewFlexibleRightMargin |
UIViewFlexibleBottomMargin)];
[viewY setAutoresizingMask:(UIViewFlexibleTopMargin |
UIViewFlexibleLeftMargin)];
该代码将设置第一个视图(我已经叫viewX
)留在左上角,第二个观点与自下而上对。
不,我调整大小以旋转UIView动画的效果。 – 2010-07-04 17:46:23
好吧,只要你旋转和转换的是对这些视图的超级视图,设置自动调整大小的遮罩应该可以工作。 – 2010-07-05 03:24:02