0

私の MainStoryboard の構造は次のとおりです。

->Tab Bar Controller -> Navigation Controller -> View Controller (Search)

私が望む動作は、ユーザーが [検索] タブを再度選択すると、その上の UIScrollView が一番上にスクロールすることです。ただし、TabBarController からイベントを取得する方法がわかりません。

特に、UITabBarDelegate について多くのことを調べてきました。

- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item

ただし、これを適切に機能させることはできませんでした。デリゲートの設定方法について非常に確信が持てません (それがその方法であると仮定します)。IBに接続しようとしましたが、できませんでした。また、AppDelegate から UITabBar を取得しようとしました (一見関連性のある回答を見た後)。

ポインターは大歓迎です (null でない限り)。

4

2 に答える 2

1
UITabBar *aTabBar = [UITabBarItem alloc] init];

....aTabBar に加えたいその他の変更....

[aTabBar setDelegate:self]
于 2012-12-09T06:37:35.717 に答える
0

デリゲートとして指定しようとしているオブジェクト <UITabBarDelegate>の " " 部分に " "を追加することを忘れないでください。@interface

私自身のコードでは、通常、アプリケーション デリゲートではないオブジェクトを使用します (アプリ デリゲートは通常、「アプリケーションが一時停止中」や「アプリケーションがフォアグラウンドに戻ってきている」などのアプリケーション レベルのイベントを対象としているため)。" " を Search ビュー コントローラに追加する場合は、" " メソッドで行うすべての操作が Search ビュー コントローラにのみ適用される<UITabBarDelegate>ことを確認してください。didSelectItemそれ以外の場合は、表示されているタブ バー項目に基づいてさまざまなビュー コントローラーでアクションを実行する場合は、別のオブジェクトをインスタンス化します。

于 2012-07-06T11:54:49.717 に答える