我正在横向模式下启动我的应用程序(iPhone 和 iPand)。
我发现viewDidAppear中 iPad 框架的框架发生了变化,而不是viewWillAppear中的那个。
IOS IPAD 5.1模拟器
在 viewWillAppear 中,它是 0.000000 20.000000 768.000000 1004.000000。
而在 viewDidAppear 中它是 0.000000 0.000000 748.000000 1024.000000
IOS IPAD 6.0 模拟器[但对 ios 6 ipad 模拟器非常满意]
在 viewWillAppear 中它是 0.000000 0.000000 748.000000 1024.000000
而在 viewDidAppear 中,它与 viewWillAppear 相同。
那么,我可以在 viewDidAppear 中为我的子视图设置框架吗?因为这里是完美的框架。
对于 iphone,两种方法的结果都是相同的 20.000000 0.000000 300.000000 480.000000。
为什么我在iPad和iPhone中出现不同的行为?
Info.plist 具有横向左和右的“支持的界面方向”,并且“初始界面方向”设置为 LandscapeLeft。
AppLaunch 方法如下:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
self.viewController=[[ViewController alloc] init];
self.window.rootViewController = self.viewController;
}
ViewController.m 有以下方法
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
if(UIInterfaceOrientationIsLandscape(interfaceOrientation)){
return YES;
}
return NO;
}