1

私はMonotouchアプリを持っていますが、AppDelegateではRootViewControllerはTabBarControllerであり、このTabBarControllerには5つのViewControllerがあります。たとえば、view1からview5までを使用します。

tabBarController.SelectedIndex = 2;

アプリの起動時にロードするviewControllerを選択し、デフォルトのtabBarはview3です。次に、別のviewControllerを表示する必要があります。たとえば、コードを使用してview1からview5に変更します。TabBarのボタンの1つでクリックをエミュレートする方法があります。これも機能します...

アップデート:

私は試した:

view1.TabBarController.ViewControllers[4].PresentViewController(view5, true, delegate{});

そしてそれは動作しますが、view5はTabBar上に表示されます。これも試してみます。

view1.TabBarController.TabBar.Items[4]. //I don't know which method could invoke the click

クリックしたいタブバーの項目を選択する場所

解決策はこれに近いと思います。問題は、view5が常にTabBarの上に表示され、それをブロックすることです...

解決済み:

view1.TabBarController.SelectedIndex = 2; //where the number is the view zero-based
4

1 に答える 1

1

これはあなたが欲しいものですか?これは、任意のクリック ハンドラーから呼び出すことができます。

AppDelegate.Current.NavController.PushViewController(new View5(), true);

私の AppDelegate クラスには次のものがあります。

public partial class AppDelegate : UIApplicationDelegate
{
    public static AppDelegate Current { get; private set; }
    public UINavigationController NavController { get; private set; }

    public override bool FinishedLaunching (UIApplication app, NSDictionary options)
    {
        Current = this;
        NavController = new UINavigationController();
        ...
    }
}

または、単にタブを切り替えたいですか: TabBarViewController でプログラムによってビューを変更する方法は?

于 2012-05-30T22:16:36.797 に答える