ヘッダーファイル:
#import <UIKit/UIKit.h>
@interface PFXTabControllerViewController : UITabBarController <UITabBarControllerDelegate>
@end
実装ファイル:
#import "PFXTabControllerViewController.h"
@interface PFXTabControllerViewController ()
@end
@implementation PFXTabControllerViewController
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item {
NSLog(@"tabBar didSelectItem");
}
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController {
NSLog(@"tabBarController didSelectViewController");
}
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
self.tabBarController.delegate = self; // Tried it both with and without this.
}
ショーはUITabBarcontroller
タブバーでうまく表示されます。タブをクリックすると起動しますが、処理する必要のあるイベントは起動didSelectItem
しません。didSelectViewController
は、のUITabBarcontroller
さまざまなサブクラスを読み込んで表示していUIViewController
ます。
UPDATEself.tabBarController.delegate = self
その行を動作するように変更するself.delegate = self
と、両方が起動します。なぜこれが必要なのかわかりません。設定self.delegate = self
は...ばかげているようです。何か案は?