2016年12月

[iOS] 画面遷移の続きだ。ページ2からページ1へ戻る方法だ。

ページ2に戻るためのボタンを追加する。
ページ1のViewControllerにページ2から戻るときに呼ぶメソッドを追加する。

    @IBAction func unwindToMain(sender: UIStoryboardSegue) {
        
    }

ページ2のボタンをctrlキーを押しながらExitにドラッグ&ドロップする。表示されるポップアップメニューでunwindToMainWithSenderを選ぶ。

001

これでページ2のボタンを押したらページ1に戻るようになる。



このエントリーをはてなブックマークに追加 Clip to Evernote
ブログランキング・にほんブログ村へ
にほんブログ村

Single View Applicationを新規につくって最初の画面に表示している画面がわかるようにラベル(ページ1)、別の画面に遷移するためのボタンをはっ付けておく。

ストーリボードでView Controllerをドラッグ&ドロップする。

001

そして、遷移したのがわかるようにラベル(ページ2)をはる。

ページ1のView Controllerをctrlキーを押しながらページ2へドラッグ&ドロップする。表示されるポップアップメニューでPresent Modallyを選ぶ。

002

遷移の矢印を選んでIdentifierをSegue1にする。

003

ページ1のボタンを押したときの処理を次のようにする。

    @IBAction func onClickButton(_ sender: UIButton) {
        self.performSegue(withIdentifier: "Segue1", sender: sender)
    }

これでとりあえず遷移する。

(追記)

ページ1のView Controllerからページ2にctrlキーを押しながらドラッグ&ドロップするのではなくて、ページ1のボタンからページ2にctrlキーを押しながらドラッグ&ドロップして、表示されるポップアップメニューでPresent Modallyを選んでやると、ページ1のボタンを押したときの処理を追加する必要がない。



このエントリーをはてなブックマークに追加 Clip to Evernote
ブログランキング・にほんブログ村へ
にほんブログ村

戻るボタンは、Windows10のタブレットモードの時、タスクバーの左はしWindowsボタンの右に表示される←やデスクトップモードでタイトルバーの左に表示される←だ。

001
002

Androidの戻るボタンと同じような感じだ。

[UWP] 画面遷移のサンプルに戻るボタンの処理を追加していく。
戻るボタンを押すとSystemNavigationManager.GetForCurrentView().BackRequestedイベントが発生するのでここに戻る処理を行うハンドラを追加(紐付け?)する。

Appクラス(App.xaml.cs)に戻るボタンの処理メソッドを追加する。

        private void BackRequested(object sender, BackRequestedEventArgs e)
        {
            Frame frame = Window.Current.Content as Frame;
            if (frame == null)
            {
                return;
            }

            if (frame.CanGoBack && e.Handled == false)
            {
                e.Handled = true;
                frame.GoBack();
            }
        }

OnLaunchedメソッドの最後の方にBackRequestedイベントと紐付ける処理を追加する。

            SystemNavigationManager.GetForCurrentView().BackRequested += BackRequested;

これで戻るボタンで前の画面に戻るようになる。つぎにデスクトップモードでタイトルバーの左端に戻るボタンを表示する。
画面クラスのOnNavigatedToメソッドで戻るボタンを表示するコードを追加する。

            if(Frame.CanGoBack)
            {
                SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility = AppViewBackButtonVisibility.Visible;
            } else
            {
                SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility = AppViewBackButtonVisibility.Collapsed;
            }

これでタイトルバー左に戻るボタンが表示される。
 

サンプルダウンロード



このエントリーをはてなブックマークに追加 Clip to Evernote
ブログランキング・にほんブログ村へ
にほんブログ村

AppStoreランキング情報を表示する
RSS Generator
これでランキングがとれるのか。

↑このページのトップヘ