为什么在InterfaceRotation之后SubView会调整大小?

时间:2010-11-24 02:01:39

标签: iphone objective-c cocoa-touch uiview

我正在为我的mainviewcontroller的UiView添加一个子视图,它以与具有Formsheet样式的UIModalViewController类似的方式呈现。 (所以它不会填满整个屏幕)

否如果设备旋转子视图以某种方式调整大小以填充整个主视图... 即使我手动设置:

subViewCtrl.view.autoresizingMask = UIViewAutoresizingNone;

它仍然自动化。 为什么不能像其他任何子视图一样简单地保持在中间?

2 个答案:

答案 0 :(得分:2)

好的,我自己弄清楚了。

我不小心做了

[self.view.superview addSubview:rowCtrl.view];

所以我也改变了这个

[self.view addSubview:rowCtrl.view];

它按预期工作。不管怎么说,还是要谢谢你! 当然,那么还必须设置

rowCtrl.view.autoresizingMask = UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleBottomMargin;

否则当界面旋转时它无法正确居中。

答案 1 :(得分:0)

视图是否正在调整大小,或者在屏幕尺寸发生变化时视图是否保持相同的大小?您可能需要UIViewAutoresizingFlexibleWidth和/或UIViewResizingFlexibleHeight。如果您使用这些值,那么您的子视图将调整大小以保持与屏幕边缘的恒定距离;您的视图将改变大小,但仍保持居中。