-1

我正在横向模式下启动我的应用程序(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。

为什么我在iPadiPhone中出现不同的行为?

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;
}

请在此链接中找到项目

4

1 回答 1

0

我可以在 viewDidAppear 中为我的子视图设置框架吗?

您可以在任何地方设置框架。为什么你不能?

于 2012-09-09T10:11:00.467 回答