iPhone: Странное пространство в верхней части UINavigationController

src="@url.content("~/Folderpath/*.css")" должны отображать стили

13
задан Jeremy Stein 23 October 2009 в 17:31
поделиться

4 ответа

Ознакомьтесь с ответами на этот вопрос:

Не уверен, почему UIView подталкивают примерно на 10 пикселей

9
ответ дан 1 December 2019 в 21:38
поделиться

Возможно, вы как-то получили себе два UIViews, каждый со строкой состояния. Проверьте xib.

0
ответ дан 1 December 2019 в 21:38
поделиться

Что строка

UIView *finalView = myeNavigationViewController.view;

добавляет к коду? Это избыточно, поскольку вы можете добавить представление напрямую, не назначая его сначала UIView - плюс это ' Я обычно делаю это

myViewController *viewController = [[myViewController alloc] initWithNibName:@"myView" bundle:nil];    
myNavigationViewController *navigationController = [[myNavigationViewController alloc] initWithRootViewController:viewController];
[navigationController.view setFrame: [self.view bounds]];
navigationController.delegate = self;
[self.view addSubview:[navigationController view]];

Установка рамки по границам также удаляет белое пространство вверху, о котором вы спрашивали.

11
ответ дан 1 December 2019 в 21:38
поделиться

Проблема в том, что в идеале UINavigationController должен быть прямым подвидом UIWindow. Он сам по себе будет позиционироваться и настраиваться по размеру. Когда вы добавляете UINavigationController в другое настраиваемое представление вложенного представления UIWindow, вам необходимо позаботиться о положении и размере этого настраиваемого представления, учитывая, отображается ли строка состояния в UIWindow или нет.

Я предлагаю сделать настраиваемое представление подклассом UINavigationController:

mySubClass_NavigationController*nav=[[mySubClass_NavigationController alloc] initWithRootViewController:viewController ];

[myUIWindow addSubview:nav.view];

и внутри mySubClass_NavigationController вы можете выполнять все настройки, которые вы делаете сейчас, самостоятельно (независимо от того, что это за контроллер).

2
ответ дан 1 December 2019 в 21:38
поделиться