Добавление настраиваемого представления над контроллером панели вкладок / контроллером навигации?

Я попробовал следующий код, пытаясь получить настраиваемое представление, отображаемое над контроллером панели вкладок (у которого, как оказалось, есть контроллер навигации во всех вкладках).

Проблема в том, что он накладывается на верхнюю часть панели навигации, и я хочу, чтобы панель навигации была перемещена вниз.

Я попытался установить рамку контроллера панели вкладок, но это не сдвинуло ее вообще.

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{    
    // Override point for customization after application launch.
    // Add the tab bar controller's current view as a subview of the window
    //self.tabBarController.view.frame = CGRectMake(0, 62, 320, 320);
    self.window.rootViewController = self.tabBarController;

    [self.window makeKeyAndVisible];

    // setting up the header view
    self.headerView = [[HeaderView alloc] initWithFrame:CGRectMake(0, 20, 320, 42)];
    [self.window addSubview:self.headerView];

    // setting up facebook stuff
    AgentSingleton *agentSingleton = [AgentSingleton sharedSingleton];
    agentSingleton.facebook = [[Facebook alloc] initWithAppId:APP_ID];

    return YES;
}

Любые идеи?

13
задан xil3 25 July 2011 в 19:47
поделиться

1 ответ

override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
if let indeedTabBarController = self.tabBarController {
    let buttonHeight: CGFloat = view.safeAreaInsets.bottom + 44
    let buttonWidth = UIScreen.main.bounds.width
    let frame = CGRect(x: 0, y: UIScreen.main.bounds.height - buttonHeight, width: buttonWidth, height: 44)
    let vw = UIView(frame: frame)
    vw.backgroundColor = .red
    indeedTabBarController.view.addSubview(vw)
  }
}
0
ответ дан 1 December 2019 в 17:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: