所以即時通訊設法使用UITabBar而不是UITabBarController,所以我在我的頭文件中聲明瞭UITabBar,以使它可以從我的所有方法中獲取,所以爲了使它成爲我剛剛做到的:以編程方式創建和UITabBar並檢測變化
tabBar = [[UITabBar alloc] initWithFrame:CGRectMake(0, 430, 320, 50)];
[self.view addSubview:tabBar];
,我用一個NSMutableArray加入我的對象......但在我的頭我也delcaired:
@interface RootViewController: UIViewController {
IBOutlet UITabBar *tabBar;
}
@property (nonatomic, retain) UITabBar *tabBar;
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item;
的話,我做了一個簡單的函數來與它一起去:
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item {
NSLog(@"didSelectItem: %d", item.tag);
}
但是,當我進入應用程序並嘗試更改選項卡時,日誌不會返回任何內容,選定的選項卡會更改,但我的日誌無用!我已經看到這個功能設置爲通過互聯網完成這項工作,我不明白爲什麼它不適用於我的代碼。 所以任何人都可以告訴我什麼即時做錯了,這個功能不會選擇標籤更改?
您忘記將您的控制器設置爲此選項卡的代表。 – hoha
但重點是,我不想UITabBarController –
'UITabBarController'與此無關。只有當這個對象是一個標籤欄的代表(「UITabBar」類的實例,'tabBar'字段的值)時,纔會在某個對象上調用方法'tabBar:didSelectItem:'。 'tabBar.delegate = self;'在tabBar = ...行後解決你的問題。 – hoha