4つのボタン([ホーム]、[訪問]、[共有]、[その他])のあるタブバーがあります。タブバーの[共有]ボタンで、ユーザーがアプリ(Facebook、Twitter、Eメールなど)へのリンクを配布できるようにする特定のチャネルを選択するための適切なボタンを含むアクションシートを呼び出すようにします。
ストーリーボードを使用してこれを行うことはできますが、タブバーの[共有]ボタンにリンクされている一意の(空白の)ビューコントローラーを作成する必要があります。「共有」ボタンが選択されたときにアクションシートを表示するために、viewDidAppearメソッド内に次のコードを配置しました。
int selectedTab = self.tabBarController.selectedIndex;
if (selectedTab == 2)
{
UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"Share Your Visit with Friends!" delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil otherButtonTitles:@"Facebook", @"Twitter", @"Email eduLaunchpad", nil];
[actionSheet showFromTabBar:self.tabBarController.tabBar];
}
アクションシートを閉じると、デフォルトでホームビューに戻ります。
[self.tabBarController setSelectedIndex:0];
これは機能しますが、ユーザーの観点からは最適ではありません。「共有」ボタンが選択されたときに表示されていた特定のビューよりも、アクションシートを表示したいと思います。たとえば、ユーザーが[訪問]ビューを表示していて、タブバーから[共有]を選択した場合、アクションシートを訪問ビューの上部に表示し、そのビューをアクションシートの後ろに表示します。
Storyboardを使用してこれを実現できますか?または、この機能を実装するためにカスタムタブバーが必要ですか?カスタムタブバーが必要な場合は、カスタムタブバーやタブバーのアクションシートなど、それを実装する方法についてのガイダンス/洞察をいただければ幸いです。
前もって感謝します!