Почему я использую Addsubview, чтобы добавить вид другого контроллера, вид сместится вниз на 20 пунктов? - PullRequest
0 голосов
/ 25 июня 2011

Я использую приведенный ниже код для проверки проблемы.

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    UIViewController *controller = [[UIViewController alloc] init];
    controller.view.backgroundColor = [UIColor whiteColor];
    [window setRootViewController:controller];
    UIViewController *controller2 = [[UIViewController alloc] init];
    [controller.view addSubview:controller2.view];
    controller2.view.backgroundColor = [UIColor yellowColor];
    UIViewController *controller3 = [[UIViewController alloc] init];
    controller3.view.backgroundColor = [UIColor purpleColor];
    [controller2.view addSubview:controller3.view];
    [window makeKeyAndVisible];
    return YES;
}

, и когда я запускаю их на симуляторе или iphone, будет казаться, что image
I'mочень озадачен, потому что эта проблема возникает в моем проекте, но когда я использовал системный сборщик фотографий, он будет отображаться правильно.Так что, кто может мне помочь, большое спасибо.

1 Ответ

1 голос
/ 25 июня 2011

По умолчанию UIViewController view использует значение [[UIScreen mainScreen] applicationFrame] в качестве кадра. Обычно это соответствует строке состояния и составляет (0, 20, 320, 460). Таким образом, вы обнаружите, что представление перемещается вниз при иерархическом добавлении.

...