2 つのビュー コントローラー (FirstViewController と SecondViewController) とタブ バー コントローラーがあり、ストーリーボードを使用しています。FirstViewController では、ユーザーはイメージビューをドラッグ アンド ドロップできます。したがって、ユーザーが SecondViewController を表示する 2 番目の TabBarItem をクリックするたびに、TabBarItem をクリックするたびに、ユーザーが画像をドロップしたかどうかを確認したいと思います。
UITabBarDelegate
だから私はこれがとその方法でできることを理解しています-(void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item
。しかし、メソッドが呼び出されていないため、何か間違ったことをしています。これは、デリゲートを適切に設定できないためだと思います。したがって、SecondViewController を TabBarController のデリゲートにする必要があります。
だから私の中で私SecondViewController.h
は次のものを持っています
@interface SecondViewController : UIViewController<UITabBarDelegate>
そして、SecondViewController.m
私は持っています
-(void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item {
NSLog(@"%@", item);
}
- (void)viewDidLoad
{
[super viewDidLoad];
self.tabBarController.delegate = self;
}
しかし、何も起こらず、デリゲートを設定すると、コンパイラの警告も表示されます: Assigning to 'id' from incompatible type 'SecondViewController *const __strong'
これは私の最初のアプリであり、デリゲートを使用するのは初めてです。