void CANavigationController::pushViewControllerFinish()
{
    m_pContainer->setFrame(CCRect(0, m_pContainer->getFrame().origin.y, 0, 0));

    CAViewController* viewController = m_pViewControllers.back();

    if (viewController->getNavigationBarItem() == NULL && viewController->getTitle().compare("") != 0)
    {
        viewController->setNavigationBarItem(CANavigationBarItem::create(viewController->getTitle()));
    }
    m_pNavigationBar->pushItem(viewController->getNavigationBarItem());

    CAViewController* lastViewController = m_pViewControllers.at(m_pViewControllers.size() - 2);
    lastViewController->getView()->removeFromSuperview();
}
Exemple #2
0
void CANavigationController::pushViewControllerFinish()
{
    CAViewController* viewController = m_pViewControllers.back();
    
    if (viewController->getNavigationBarItem() == NULL && viewController->getTitle().compare("") != 0)
    {
        viewController->setNavigationBarItem(CANavigationBarItem::create(viewController->getTitle()));
    }
    m_pNavigationBar->pushItem(viewController->getNavigationBarItem());
    viewController->getView()->setFrameOrigin(CCPointZero);
    
    CAViewController* lastViewController = m_pViewControllers.at(m_pViewControllers.size() - 2);
    lastViewController->getView()->setFrameOrigin(CCPointZero);
    lastViewController->getView()->setVisible(false);
    lastViewController->viewDidDisappear();
}
Exemple #3
0
void CANavigationController::replaceViewControllerFinish()
{
    CAViewController* lastViewController = m_pViewControllers.back();
    lastViewController->retain()->autorelease();
    m_pViewControllers.popBack();
    m_pNavigationBar->popItem();
    lastViewController->viewDidDisappear();
    lastViewController->removeViewFromSuperview();
    
    CAViewController* viewController = m_pViewControllers.back();
    viewController->getView()->setFrameOrigin(CCPointZero);
    if (viewController->getNavigationBarItem() == NULL && viewController->getTitle().compare("") != 0)
    {
        viewController->setNavigationBarItem(CANavigationBarItem::create(viewController->getTitle()));
    }
    m_pNavigationBar->pushItem(viewController->getNavigationBarItem());
}
void CANavigationController::replaceViewControllerFinish()
{
    m_pContainer->setFrame(CCRect(0, m_pContainer->getFrame().origin.y, 0, 0));

    CAViewController* lastViewController = m_pViewControllers.back();
    m_pViewControllers.pop_back();
    m_pNavigationBar->popItem();
    lastViewController->removeViewFromSuperview();
    lastViewController->autorelease();

    CAViewController* viewController = m_pViewControllers.back();

    if (viewController->getNavigationBarItem() == NULL && viewController->getTitle().compare("") != 0)
    {
        viewController->setNavigationBarItem(CANavigationBarItem::create(viewController->getTitle()));
    }
    m_pNavigationBar->pushItem(viewController->getNavigationBarItem());
}
void CANavigationController::layoutNewContainer()
{
    CAViewController* viewController = m_pViewControllers.back();
    
    DRect navigation_bar_rect = DRectZero;
    navigation_bar_rect.size = m_tNavigationBarSize;
    
    DRect container_rect = this->getView()->getBounds();
    
    if (m_bNavigationBarHidden || viewController->getNavigationBarItem()->isNagigationBarHidden())
    {
        navigation_bar_rect.origin = this->getNavigationBarTakeBackPoint();
    }
    else
    {
        container_rect.size.height -= m_tNavigationBarSize.height;
        navigation_bar_rect.origin = this->getNavigationBarOpenPoint();
        
        container_rect.origin.y = m_tNavigationBarSize.height;
    }
    
    CAView* container = m_pContainers.back();
    container->setFrame(this->getView()->getBounds());
    
    CANavigationBar* navigationBar = m_pNavigationBars.back();
    navigationBar->setFrame(navigation_bar_rect);

    CAView* secondContainer = m_pSecondContainers.back();
    secondContainer->setFrame(container_rect);
    
    
    viewController->addViewFromSuperview(secondContainer);
    if (m_pViewControllers.size() > 1)
    {
        viewController->viewDidAppear();
    }
}