6

idev-recipes/RaisedCenterTabBar を使用していますが、カメラではなく、中央のボタンから呼び出されるモーダル ビューが必要です。

コードはこちら: https://github.com/boctor/idev-recipes/tree/master/RaisedCenterTabBar

これを機能させる方法についてのアイデアはありますか?

4

5 に答える 5

4

それを達成するために従うべきより良いアプローチがあります。そして、はるかに簡単です。

この方法論を使用して実装することで私が理解していること: https://github.com/boctor/idev-recipes/tree/master/RaisedCenterTabBarは、タブ バーを非表示にしようとすると奇妙なことが起こるということです。だから私が見つけた最良の解決策(あなたと同じこと)はここにあります:http://www.lantean.co/display-a-modal-uiviewcontroller-when-a-uitabbaritem-is-pressed/

他に何もする必要はありません。UITabBarItem が関連付けられているビュー コントローラーを無視して、モーダル ビューを表示してください。それで全部です!

于 2014-01-30T16:09:03.887 に答える
2

UITabBarController の独自のサブクラスを作成し、このメソッドを追加します。

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

}

どの項目が選択されたかを確認し、そこにモーダル VC をインスタンス化できます。

于 2012-05-07T01:39:28.557 に答える
0

おそらく、メソッドでUITabBarDelegateを使用できます
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item

誰かがタブ バーのボタンを押すと、メソッドがデリゲートに送信されます。そこで、それが正しいボタンかどうかを確認してから、モーダル ビュー コントローラーをインスタンス化できます。

于 2012-05-15T15:03:06.507 に答える
0

サブクラス化またはデリゲートを使用して、選択した項目が中ボタンであるかどうかを簡単に確認できます。そうである場合は、以前に選択された項目をタブ バーで選択し、モデル ビュー コントローラーを提示します。元の選択が行われたのと同じ RunLoop ソース内でこれを行うため、タブの選択は、中間の VC に切り替えることなく効果的に元に戻されます。

于 2012-05-16T13:51:04.200 に答える
0

あなたが提供したコードサンプルによると=> https://github.com/boctor/idev-recipes/tree/master/RaisedCenterTabBar

中央の隆起したタブ ボタンは UIButton であるため、そのボタンのアクションを BaseViewController.m クラスで次のように設定するだけです。

[button addTarget:self action:@selector(showmodalview) forControlEvents:UIControlEventTouchUpInside];

次に、showmodalview メソッドでこのコードを記述します =>

-(void)showmodalview
{
    UIViewController *view1=[[UIViewController alloc] init]; // you can use any view controller instance you want ,this is just the example.
    [self presentModalViewController:view1 animated:YES];
}
于 2012-05-19T12:20:43.653 に答える