我不熟悉 iOS UIViewController 的详细实现。我有以下代码来创建一个新的 UIViewController 并显示它,但是我在initWithFrame方法中设置的框架不起作用,控制器的视图总是全屏(320 * 480)。
UIViewController *viewController = [[UIViewController alloc] init];
// view
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 140, 130)];
viewController.view = view;
[view release];
AppController *app = (AppController*)[[UIApplication sharedApplication] delegate];
UINavigationController *nav = [app navController];
[nav pushViewController:viewController animated:YES];
[viewController release];
我在苹果开发者文档中搜索相关想法,但我没有发现任何有用的东西。UIViewController 在显示之前是如何处理它的 view frame 属性的?我在哪里可以找到有用的文档。
谢谢你。
更新:其实代码来自cocos2d-iphone DirectorTest:https ://github.com/cocos2d/cocos2d-iphone/blob/release-2.0-rc1/tests/DirectorTest.m#L143