0

アプリのビューにUIScrollViewとUIPageControlがあります。スクロールビューには2つのビューコントローラー(ページ1とページ2)が含まれ、各ページは個別のクラスで管理され、ボタンのリストがあります。

私の問題は、たとえば、page1から1つのボタンの内側をタッチアップしたときに新しいコントローラーを開きたいということです。新しいビューコントローラーは、scrollviewのサブビュー(新しいpage1)として表示されるため、pagecontrolとpage2が表示されます。スクロールも機能します。

page1コードでこれを行うため、これは正常です。

void HandleTouchUpInside (object sender, EventArgs e)
{
    MyNewController mnc = new MyNewController();
    this.View.AddSubview(mnc.View);
}

だから私の質問は..

画面いっぱいに呼び出されるコントローラーを設定するにはどうすればよいですか?サブビューから呼び出されたビューで画面を埋めることはできますか?

編集:

これは1ページ目です これは、画面全体に表示される新しいビューコントローラではなく、page1としての新しいコントローラです。

ありがとう

4

2 に答える 2

1

ストーリーボードの使用

StoryBoardエディターを使用してUIを設計することをお勧めします。Controlキーを押しながらボタンからMyNewControllerにドラッグします。アクションセグエの モーダルを選択します。

コードの使用

void HandleTouchUpInside (object sender, EventArgs e)
{
    bool animated = true;
    NSAction completionHandler = null;
    MyNewController mnc = new MyNewController();
    PresentViewController(mnc, animated, completionHandler);
}

却下

いずれの場合も、DismissViewControllerMyNewControllerからのモーダルビュー呼び出しを却下する場合。

bool animated = true;
NSAction completionHandler = null;
DismissViewController(animated, completionHandler);
于 2013-02-20T16:49:56.957 に答える
0

最後に、アプリデリゲートからトップナビゲーションコントローラーを呼び出すことを解決しました。

    void HandleTouchUpInside (object sender, EventArgs e)
    {
        Clases viewClases = new Clases();

        AppDelegate del = (AppDelegate)UIApplication.SharedApplication.Delegate;
        del._navController.SetNavigationBarHidden(false, true);
        del._navController.PushViewController(viewClases, false);

    }

この リンクの詳細

于 2013-02-22T09:39:51.183 に答える