iPhone: pestaña personalizada sin el horrible menú Más

Así que quería crear una barra de pestañas que tenga más de 5 elementos y que se pueda desplazar y encontréEste artícul. Fácil de hacer al subclasificar el UITabBarController y ocultar la barra de pestañas existente:

for(UIView *view in self.view.subviews)
{
    if([view isKindOfClass:[UITabBar class]])
    {
        view.hidden = YES;
        break;
    }
}

Entonces solo agrego un UIScrollView y lanzo algunos botones en función de la colección de elementos del controlador de barra de pestañas.

int i = 0;
for (UITabBarItem *item in self.tabBar.items)
{
    UIView *tab = [[[UIView alloc] initWithFrame:CGRectMake(i*60, 0, 60, 60)] autorelease];

    UIButton *btn = [[[UIButton alloc] initWithFrame:CGRectMake(7.5, 1, 45, 45)] autorelease];
    [btn setImage:item.image forState:UIControlStateNormal];
    btn.tag = i;
    [btn addTarget:self action:@selector(didSelectTabrBarItem:) forControlEvents:UIControlEventTouchUpInside];
    [tab addSubview:btn];

    [self.scrollView addSubview:tab];
    i++;

    if(self.selectedViewController == nil)
        [self setSelectedIndex:0];
}

stoy anulando el setSelectedindex / ViewController ya que necesito un dibujo adicional.

-(void)setSelectedViewController:(UIViewController *)selectedViewController
{
    [super setSelectedViewController:selectedViewController];
    [self startTimer];
}

-(void)setSelectedIndex:(NSUInteger)selectedIndex
{
    [super setSelectedIndex:selectedIndex];
    [self startTimer];
}

El problema es que cuando presiono el botón número 5, 6 o 7, el controlador de barra de pestañas abre la vista Más. ¿Cómo me deshago de eso y hago que los últimos tres elementos actúen como los otros? - ¿Podría ser la llamada al súper?

Supongo que sería matar completamente el UITabBarController e implementar mi propia barra de pestañas personalizada. ¿Pero es posible deshabilitar el menú más y hacer que el UITabBarController seleccione los elementos 5, 6 y 7 de forma normal?

Respuestas a la pregunta(8)

Su respuesta a la pregunta