我正在製作選項卡欄應用程序。我想禁用一個標籤欄按鈕,我可以通過代碼解開選項卡欄按鈕,但想要disababled標籤欄按鈕的enabeled圖像
[[[[[self tabBarController] viewControllers] objectAtIndex:2] tabBarItem] setEnabled:FALSE];
使但是圖像被禁用。我想要啓用圖像。如何通過代碼使用自定義圖像。我不想使用標籤欄按鈕的自定義圖像。我想使用默認選定的和未選擇的標籤欄按鈕圖像。請建議。
在此先感謝。
我正在製作選項卡欄應用程序。我想禁用一個標籤欄按鈕,我可以通過代碼解開選項卡欄按鈕,但想要disababled標籤欄按鈕的enabeled圖像
[[[[[self tabBarController] viewControllers] objectAtIndex:2] tabBarItem] setEnabled:FALSE];
使但是圖像被禁用。我想要啓用圖像。如何通過代碼使用自定義圖像。我不想使用標籤欄按鈕的自定義圖像。我想使用默認選定的和未選擇的標籤欄按鈕圖像。請建議。
在此先感謝。
您可以嘗試以下操作:將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
}
}
也許你可以設置布爾值來知道啓用了哪個選項卡。並在委託'tabBar:didSelectItem:'測試那些布爾值。如果與選定選項卡對應的布爾值表示該選項未啓用,則只需執行'return;'即可退出委託。 – zbMax
@zbMax - 但圖像更改爲未選擇的圖像..即使選項卡按鈕未啓用,我也希望所選圖像... – NiKKi