Ich löste dieses selbst, indem ich meinen eigenen Behälter UIViewController herstellte, um den Vorsprungstab nachzuahmen
//
// UITabBarController.h
//
#import
@interface UITabBarController: UIViewController
{
NSMutableArray *viewcontrollers;
int currentViewIndex;
}
@property (nicht atomares) int selectedIndex;
- initWithViewControllers (Identifikation): (NSArray *) viewControllers;
@end
//
// UITabBarController.m
//
#import „UITabBarController.h“
@implementation UITabBarController
- initWithViewControllers (Identifikation): (NSArray *) viewControllers
{
wenn (Selbst = [Superinit])
{
viewcontrollers = [[NSMutableArray alloc] init];
int-Zählimpuls = [viewControllers Zählimpuls];
für (int i=0; I {
UIViewController *vc = [viewControllers objectAtIndex: I];
[viewcontrollers addObject: vc];
}
currentViewIndex = 0;
[SelbstsetSelectedIndex: 0];
}
Rückholselbst;
}
- (leeres) setSelectedIndex: Index (int)
{
//, das gegenwärtige Ansicht entfernt
UIViewController *viewcontroller = [viewcontrollers objectAtIndex: currentViewIndex];
[viewcontroller viewWillDisappear: KEIN];
[viewcontroller.view removeFromSuperview];
[viewcontroller viewDidDisappear: KEIN];
//, das neue Ansicht addiert
currentViewIndex = Index;
viewcontroller = [viewcontrollers objectAtIndex: currentViewIndex];
[viewcontroller viewWillAppear: KEIN];
[self.view addSubview: viewcontroller.view];
[viewcontroller viewDidAppear: KEIN];
}
- selectedIndex (int)
{
RückholcurrentViewIndex;
}
- (leeres) dealloc
{
[viewcontrollers dealloc];
[Superdealloc];
}
@end