0

我正在制作一个标签栏应用程序。我想禁用一个我可以通过代码制作的标签栏按钮

[[[[[self tabBarController] viewControllers] objectAtIndex:2] tabBarItem] setEnabled:FALSE];

但是图像被禁用。我希望启用图像。不通过代码使用自定义图像怎么可能。我不想使用标签栏按钮的自定义图像。我想使用默认选择和未选择的标签栏按钮图像。请建议。

提前致谢。

4

1 回答 1

0

您可以尝试以下操作:切换UIBarButtonItem到禁用,而不是切换属性,将tintColor属性更改为清晰的颜色。这将防止按钮在点击时被着色。然后,在委托中,检查按钮是否被禁用,如果是则返回:

// inside view controller .m

-(void)disableButton
{
    [barBtn setTintColor:[UIColor clearColor]];
}

-(void)enableButton
{
    [barBtn setTintColor:[UIColor grayColor]];  // whatever color the tint should be
}

-(void)buttonTapped:(id)sender
{
    if ([barBtn tintColor] == [UIColor clearColor])
    {
        return;   // button is disabled, so don't to action
    }
}
于 2013-06-28T17:11:33.193 回答