我有一个支持所有界面方向的UIViewController。视图是以编程方式在loadView()中创建的,该视图到目前为止一直有效。 loadView()方法中添加的所有视图都具有正确的大小和旋转。
但是,稍后添加的任何视图都无法正确旋转。如果我添加以下UIView
[[[UIView alloc] initWithFrame:CGRectMake(0, 0, [[UIScreen mainScreen] applicationFrame].size.width, [[UIScreen mainScreen] applicationFrame].size.height)] autorelease];
如果UIViewController在添加UIView时处于纵向模式,则它只是全屏。如果设备处于横向模式,则UIView的宽度仅为748像素,而不是我期望的1024。 [[UIScreen mainScreen] applicationFrame] .size.width提供768像素或748像素,具体取决于设备的旋转。
那么我应该如何创建和添加UIView,以便以全屏大小显示?我还想仅针对一种模式(纵向或横向)初始化UIView的内容,并将其自动化为其他模式。我基本上需要告诉UIView它是一个纵向模式视图,并且在添加到横向视图控制器时应该旋转。
答案 0 :(得分:0)
由于我无法使用正确的大小初始化UIView,因此我只是保留了初始化代码(始终以纵向模式创建视图)并稍后将UIView调整为父视图的bounds属性。与frame属性不同,bounds似乎返回正确的大小,具体取决于当前的旋转。