2012-01-25 80 views
1

我有一個的TabBar在廈門國際銀行文件initilized,無法取消一個的TabBar項目

的問題是,我想取消我之前挖掘的項目,

,但我不能,

我在任何地方,我可以嘗試

self.tabBar.selectedItem = 0; 
self.tabBar.selectedItem = nil; 

,但它只是不工作,

如何在我點擊後取消選擇tabBar項目?

非常感謝!

回答

1

我的繼承人問題的解決方案如下

.H

@interface DetailViewController : UIViewController <UITabBarDelegate>{ 

//.. 
    IBOutlet UITabBar *myTabBar; //notice IBOutlet, hook this up to your tabBar in InterfaceBuilder 

    } 

    @property (strong, nonatomic) IBOutlet UITabBar *myTabBar; 

.M

@synthesize myTabBar; 

//.. 
- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view, typically from a nib. 
    [self configureView]; 

    actionTabBar.delegate = self; // This sets up tabbardelegate method 
} 

//.. 

#pragma myTableDelegates 
// a Case for each button 
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item 
{ 
    switch (item.tag) { 
     case 0: 
     { 
      if (check for condition here) { 
       // do some tab stuff here, maybe load a view or something 
      } 
      else if (check for condition here) { 
       // do some stuff here like unloading views etc 
       [myTabBar setSelectedItem:nil]; //clears the previously selected cell 
    // this means only one cell can be selected at a time. 
      } 

     } 
      break; 
     case 1: 
     { 
      NSLog(@"item 1 selected"); 
     } 
      break; 
     case 2: 
     { 
      NSLog(@"item 2 selected"); 
     } 
      break; 
     default: 
      break; 
    } 

} 

這應該讓你開始,它幾乎是相同的代碼我在我的一個項目中使用,所以它應該工作,你將不得不使用自己的如果統計得到th在tabbutton選擇和取消....如果這是不是你找什麼

[myTabBar setSelectedItem:nil]; 

將足以爲你清除任何選定的單元格中的TabBar。但是你必須記住myTabBar是一個IBOutlet,所以你必須將它連接到Interface Builder中的Tabbar,或者你也可以在代碼中做到這一點,但聽起來像你使用.xib文件,所以上面的解決方案應該是甜蜜的。

我還沒有構建和運行這個特定的代碼,所以可能有一個錯誤,讓我知道如果你需要任何更多的幫助。

無論如何,我希望這對你有用:)