私はidev-recipes/RaisedCenterTabBarを使用していますが、カメラではなく中央ボタンから呼び出されるモーダルビューが必要です。iosタブバーボタンからモーダルビュー
コードはここにある:この作業を取得する方法について https://github.com/boctor/idev-recipes/tree/master/RaisedCenterTabBar
任意のアイデア?
私はidev-recipes/RaisedCenterTabBarを使用していますが、カメラではなく中央ボタンから呼び出されるモーダルビューが必要です。iosタブバーボタンからモーダルビュー
コードはここにある:この作業を取得する方法について https://github.com/boctor/idev-recipes/tree/master/RaisedCenterTabBar
任意のアイデア?
私はUITabBarControllerの独自のサブクラスを作成し、この方法で追加します。
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item {
}
あなたが選択して、そこに内部のモーダルVCをインスタンス化したもののアイテム伝えることができるようになります。
を更新しました。現在のVCはタブバーの項目に接続されていますか?これは無視されるのですか、またはタブバー項目を保持したまま削除することはできますか? – stewart715
私はあなたがそれを無視することができると思います。それは削除することはできません(TabBarControllerはすべてのタブにVCが必要です)。 –
しかし、私はモーダルを開いてもVCの背後にスイッチが入りません。それを無視してデフォルトアクションを表示しないようにするにはどうすればよいですか? – stewart715
おそらくUITabBarDelegateと- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item
という方法を使用できます。
誰かがタブバーのボタンを押すと、デリゲートにメソッドが送信されます。そこには、それが右のボタンであるかどうかを確認してから、モーダルビューコントローラをインスタンス化することができます。
サブクラス化またはデリゲートを使用することで、選択した項目が中央ボタンであるかどうかを確認し、そうであれば、タブバーに以前に選択した項目を選択してモデルビューコントローラーを表示させることができます。元の選択が起こったのと同じRunLoopソース内でこれを実行するので、中間のVCに切り替えることなくタブ選択が効果的に元に戻されます。
あなた=> https://github.com/boctor/idev-recipes/tree/master/RaisedCenterTabBar
によって提供されたコードのサンプルによると、中央のタブボタンを上げたが、これだけBaseViewController.mクラスでこのよう
[button addTarget:self action:@selector(showmodalview) forControlEvents:UIControlEventTouchUpInside];
をそのボタンの動作を設定し、UIButtonです
その後、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];
}
にするために従うより良いアプローチがありますそれを達成する。そしてはるかに簡単です。
この方法を使用して実装することによってわかったことは、https://github.com/boctor/idev-recipes/tree/master/RaisedCenterTabBarは、タブバーを非表示にしようとしているときに奇妙なことが起きていることです。あなたにとって私が見つけた最良の解決策(あなたと同じこと)はここにあります:http://www.lantean.co/display-a-modal-uiviewcontroller-when-a-uitabbaritem-is-pressed/
他に何もする必要はありません。 UITabBarItemが関連付けられているビューコントローラを無視し、モーダルビューを表示してください。それで全部です!
はい、 'UITabBar'のボタンをタップしてモーダルビューを表示することは可能です。あなたはあなたの質問をより具体的にする必要があります。 –
ビット... – stewart715