Будем надеяться, что третий раз повезло:TabBar и вид Панель навигации частично скрытый
Просто пытаются получить содержимое появится ниже панели навигации и выше Tab Bar (ни с ней, оказывается ниже либо).
Я пробовал почти все, безрезультатно.
С помощью следующего кода внутри rootController, где я просто пытаюсь иметь вид (красную границу, чтобы помочь шоу, если он работает):
-(void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
UIView *view1 = [[UIView alloc] initWithFrame:self.view.frame];
view1.layer.borderColor = [UIColor redColor].CGColor;
view1.layer.borderWidth = 2.0f;
[self.view addSubview:view1];
}
и установки как существа:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
self.window.backgroundColor = [UIColor whiteColor];
TSTFirstViewController *rootController = [[TSTFirstViewController alloc] init];
rootController.title = @"Hello World";
UINavigationController *firstRootController = [[UINavigationController alloc] initWithRootViewController:rootController];
NSArray *viewControllers = @[firstRootController];
UITabBarController *tabBar = [[UITabBarController alloc] init];
tabBar.viewControllers = viewControllers;
tabBar.tabBar.barStyle = UIBarStyleBlack;
tabBar.tabBar.translucent = NO;
[self.window setRootViewController:tabBar];
[self.window makeKeyAndVisible];
return YES;
}
я получаю:
Если добавить два линии к моему AppDelegate
:
firstRootController.navigationBar.translucent = NO;
firstRootController.navigationBar.barStyle = UIBarStyleBlack;
Это все получает очень неаккуратно:
Красная граница смещается вниз, нижняя граница исчезает ниже панели вкладок. И появляется большой пробел.
Если удалить полупрозрачность линии, а также добавить:
self.edgesForExtendedLayout = UIRectEdgeNone;
в контроллер представления, я получаю:
Светопрозрачные бары, красную границу в нужном месте под навигационной панели , но нижняя граница внизу tabBar.
Я считаю, что я пробовал все комбинации и все идеи.
Может кто-нибудь, пожалуйста, скажите мне, как получить содержимое, подходящее под панелью навигации, над панелью вкладок без использования Interface Builder.
Заранее спасибо.
Большое спасибо за помощь ... но я не могу не задаться вопросом, есть ли что-то более легкое, чем это? Я бы подумал, что использование 'self.edgesForExtendedLayout' бы соответствовало виду, не вычисляя высоту всех отдельных компонентов. – Darren