如何給TTTabBar,TTTabGrid,TTTabStrip加上事件

  在Three20的例子程序中沒有找到如何獲取TTTabBar、TTTabGrid、TTTabStrip的事件如何處理,也就是說以上三個類管理的TTTabItem對象被選擇時,沒有收到消息。經過對相關類的原代碼進行分析,跟蹤,發現,在TTTabBar中有一個deletage變量,該變量是TTTabDelegate類型,因此,對消息處理馬上有思路了。如下,幾步就可以獲取消息了。

1.在TabBarTestController.h中的頭文件進行修改,加入<TTTabDelegate>。如下:

   @interface TabBarTestController : TTViewController<TTTabDelegate

2.在TabBarTestController.m中進行修改,加入

  // 回調設置

  _tabBar1.delegate = self;

3.實現delegate的回調接口函數,如下:

//

// deletage for tab select event

//

- (void)tabBar:(TTTabBar*)tabBar tabSelected:(NSInteger)selectedIndex

{

  if([tabBar isKindOfClass:[TTTabStrip class]])

  {

    NSLog(@"TTabStrip select:%d", selectedIndex);

  }else if([tabBar isKindOfClass:[TTTabGrid class]])

  {

    NSLog(@"TTTabGrid select:%d", selectedIndex);

  }else  if([tabBar isKindOfClass:[TTTabBar class]])

  {

    NSLog(@"TTTabBar select:%d", selectedIndex);

  }

}


Run一下,即可以看到輸出的結果如下:

2012-12-28 14:56:54.201 TTCatalog[6709:11303] TTTabBar select:0

2012-12-28 14:56:56.185 TTCatalog[6709:11303] TTTabBar select:1

2012-12-28 14:56:57.184 TTCatalog[6709:11303] TTTabBar select:2

2012-12-28 14:56:58.072 TTCatalog[6709:11303] TTTabBar select:3

2012-12-28 14:57:01.185 TTCatalog[6709:11303] TTTabGrid select:1

2012-12-28 14:57:02.105 TTCatalog[6709:11303] TTTabGrid select:2



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章