タブバーから直接アクションシートを呼び出す方法はありますか?私はユーザーが適切なボタンでアクションシートを表示するタブバーの連絡ボタンを必要とするプログラムに取り組んでいます。事前UITabBarボタンからiPhone UIActionSheetが呼び出される
答えて
で
おかげであなただけのタブのいずれかに関連付けられたビューコントローラを持っており、そのビューの平原を離れ、そしてのviewDidLoadでactionSheetを作ることができませんでしたか?
それはその下のビューをねじ込みます。 –
ああ、あなたは、現在のビューの上にアクションシートを開くために、タブバーをクリックしたいのですか?..あなたが言ったことを行うことができますが、新しいものにサブビューとして前のビューをロード..または何か..なぜメッセージや何かを書くために全く新しい意見を持っていないのですか? – mk12
それはまさに私がやることです。ユーザーは、アクションシートを要求している新しいビュー(サイズや透明度が好き)を望んでいません。それを行う方法を理解しようとしているだけです。元の方法では、テーブルビューの一部が消去され、アクションシートは表示されません。 –
電子メールを表示していて、湾曲した矢印ボタンを押したときにメールアプリが表示され、「返信」アクションシートが表示されます。
いいえ、メールはあなたが望むようにUITabBarではなくUIToolbarを使用します..あなたは何とかしてはいけないことをやってはいけません、UITabBarsはアプリケーションのセクション間をナビゲートするためのアクションです(あなたに連絡するなど) 。 – mk12
これは良いアイデアではないと言っています(これはツールバーを使って行うべきです)が、これは間違いなく可能です。
次のコードは、UITabBarControllerDelegateの方法のいずれかを実装し、タブバー項目の選択を回避し、代わりにUIActionSheetを作成し、表示します。
- (BOOL)tabBarController:(UITabBarController *)tabBarController
shouldSelectViewController:(UIViewController *)viewController
{
NSInteger choice = 0; // --> index of the view controller that should "act as button"
if (viewController == [tabBarController.viewControllers objectAtIndex:choice])
{
UIActionSheet *sheet = [[UIActionSheet alloc] initWithTitle:nil
delegate:nil
cancelButtonTitle:@"Cancel"
destructiveButtonTitle:nil
otherButtonTitles:@"Send e-mail", @"Twitter", @"Whatever", nil];
[sheet showFromTabBar:tabBarController.tabBar];
return NO;
}
return YES;
}
ありがとうございます - これは[sheet showFromTabBar:tabBarController.tabBar]として行うことができます。これは、このようにUIActionSheetを表示することが実際にサポートされていることを意味します。 – masty
@mastyはうまく言った、私はそれに応じて私の答えに適応しました。それをARCにも適用しました。 –
私は何スティーブの後を理解することができると思います。私はTabBarControllerの第1要素を介して主な活動に到達しました。私は2番目のタブバー要素に、モーダルビューの電子メール、Facebookへのアクセス、またはTwitterへのアクセスを選択的に追加したいと思います。その選択肢がアクションシートを介して提供され、その最初のビュー・コントローラー(最初のタブバー選択肢)から「後ろ」にあるものを見失わないようにして、選択肢を扱う新しいビュー・コントローラーが表示されるようにするといいでしょう。これは、たとえば、ニュース記事を「共有する」ときに、「APモバイル」が行うことのようです。
@Adrian:それはに(明らかに)助けない理由(読み...)
その後、私はあなたのソリューションは、アウトオブボックスの仕事を得ることができませんでした..しかしが判明しました具体的にはアウトレットからドラッグ:ファイル所有者に委任する ***キャッチされていない例外 'NSInternalInconsistencyException'のためアプリを終了しています、理由: 'タブバーコントローラによって管理されているタブバーのデリゲートを変更することはできません。
私は[rootController setDelegate:self];
乾杯を追加applicationDidFinishLaunchingでは、インターフェイス定義にUITabBarControllerDelegate(UIApplicationDelegateがすでに存在していたと私はさらに読んでいない)... と を追加するまで、私のデリゲートメソッドは無視されていました
。
- 1. UIActionSheetが呼び出されるとアプリケーションがクラッシュする
- 2. UIActionsheetのdelegate clickedButtonAtIndexが呼び出されない
- 3. UIActionSheetの呼び出し関数
- 4. UIActionSheetからボタンを押した後にメソッドを呼び出すときに助けが必要
- 5. ボタンをクリックするとJavaScriptが呼び出されますか?
- 6. KendoUI NavBarボタンから呼び出されたアクションシート - 無効なOwnerDocument
- 7. iPhoneでViewDidLoadメソッドが呼び出されませんか?
- 8. ボタンをiOS上でUITabBarアプリケーションを呼び出すようにする
- 9. textFieldShouldBeginEditingが呼び出され、textFieldDidBeginEditingが呼び出されない
- 10. 開始ボタンでTabActivityからアクティビティを呼び出すと、カスタムメソッドが呼び出されます。
- 11. AudioTrack:スレッドから呼び出される
- 12. iPadでDetailViewからボタンをクリックするとdidSelectRowAtIndexPathが呼び出されます
- 13. サブビューの更新時にiPhone - layoutSubviewsが呼び出される
- 14. UIAlertViewボタンからメソッドを呼び出す
- 15. NSURLConnection - didFailWithErrorが呼び出されない
- 16. UIActionSheet - ボタンの数が不明です。何を呼び出すかを知るには?
- 17. HTMLフォームからサーブレットを呼び出すがサーブレットは呼び出されない
- 18. アプリケーションがバックグラウンドから呼び出されたときにメソッドを呼び出す
- 19. Python:setterが呼び出されたら関数を呼び出しますか?
- 20. VB6から呼び出された.netクラスからのWebサービス呼び出し
- 21. fbDidLoginが呼び出されず、handleURLが呼び出されない
- 22. creatorで呼び出されたメソッドは、基底クラスから呼び出されますが、派生クラスからは呼び出されません
- 23. UITabBarボタンからモーダルビューを表示する
- 24. IE9のJavaScriptから入力ボタンのクリックが呼び出されない
- 25. iOS 11のUIToolbarボタンからアクションが呼び出されないUISearchController
- 26. nsinvocationが呼び出されますか?
- 27. ボタンのクリックでVueメソッドが2回呼び出される
- 28. ReactJS - レンダリング中にボタンonClickが呼び出される
- 29. クォーツiPhone drawRectが呼び出されていない
- 30. iPhoneでtouchesBeganが呼び出されていません
タブバーではなく連絡先ボタンがあるツールバーである必要があります。 – mk12