Fråga : Skräddarsy UITabBarControlleren - eller skapa en UIViewControlller som är liknande till den

Kan jag skapa en UIViewController som är liknande till UITabBarController men, visar inte den nedersta fliken bommar för? Jag önskar att byta ut en existerande UITabBarController i en applikation med denna beställnings- UIViewController, så kodifiera måste inte att ändra mycket alls. Förmiddag I på ögonblicket som döljer UITabBarControlleren, genom att använda hideTabBar

- (annullera): (UITabBarController *) retur för
för viewController {
om ([räkningen för viewController.view.subviews] < 2);
   
    UIView *contentView;
för
, om ([[objectAtIndex för viewController.view.subviews: ] isKindOfClass 0: [UITabBar klassificerar],]) contentView för
= [objectAtIndex för viewController.view.subviews: 1]; contentView för else
för
= [objectAtIndex för viewController.view.subviews: 0];
för
contentView.frame = viewController.view.bounds;            
viewController.tabBar.hidd/>en = JA;

But för
} utfärda är när jag går till ett system beskådar kontrollanten liksom ABPeoplePickerNavigationController som en svart bommar för syns var UITabBarControlleren betyds för att vara.

I önskar att skapa en beställnings- UIViewController som agerar något liknande en UITabBarController, som ska är rota beskådar kontrollanten, och därefter den visar alla annan UIViewControllers i en flik danar undantar den har inte en flik att bomma för GUI, mig ska kopplar programmatically till den korrekta fliken jag själv.
" klar "

Svar : Skräddarsy UITabBarControlleren - eller skapa en UIViewControlller som är liknande till den

Jag löste detta jag själv, genom att skapa min egna behållare UIViewController för att efterapa fliken, bommar för

//
// UITabBarController.h
//

#import

@interface UITabBarController: UIViewController
{
  NSMutableArray *viewcontrollers;
  int-currentViewIndex;
}

nonatomic) int-selectedIndex för @property (;

- initWithViewControllers (ID): (NSArray *) viewControllers;

@end




//
// UITabBarController.m
//

#import ”UITabBarController.h”,

@implementation UITabBarController

- initWithViewControllers (ID): (NSArray *) viewControllers
{
  om (själv = [toppen init])
  {
    viewcontrollers = [[init för NSMutableArray alloc]];
    int-räkning = [viewControllersräkningen];
    för (int i=0; i    {
      UIViewController *vc = [viewControllersobjectAtIndex: i];
      [viewcontrollersaddObject: vc];
    }
    currentViewIndex = 0;
    [självsetSelectedIndex: 0];
  }
 
  återgång själv;
}

- (annullera), setSelectedIndex: indexet (int)
{
  // som tar bort strömmen, beskådar
  UIViewController *viewcontroller = [viewcontrollersobjectAtIndex: currentViewIndex];
  [viewWillDisappear viewcontroller: INGET];
  [viewcontroller.view-removeFromSuperview];
  [viewDidDisappear viewcontroller: INGET];
 
  // att tillfoga som är nytt, beskådar
  currentViewIndex = index;
  viewcontroller = [viewcontrollersobjectAtIndex: currentViewIndex];
  [viewWillAppear viewcontroller: INGET];
  [self.view-addSubview: viewcontroller.view];
  [viewDidAppear viewcontroller: INGET];
}

- selectedIndex (int)
{
  återgång currentViewIndex;
}

- (annullera), dealloc
{
  [viewcontrollersdealloc];
  [toppen dealloc];
}

@end


Andra lösningar  
 
programming4us programming4us