Swift転職なら=>【LevTech】
↑クリックして拡大
↑クリックして拡大
↑クリックして拡大
↑クリックして拡大

頭痛が減ったので共有です!

rebuild.fmを応援しています!

HOME > 最前面のUIViewControllerを取得する

最前面のUIViewControllerを取得する

アプリの一番最前面に張り付いているUIViewControllerを取得したかったので調べてみました。ObjectiveCのソースがありましたので、 Swiftに修正してみました。

参考:最前面のUIViewControllerを取得する
参考:最前面のViewControllerを探す!!!
参考:Get top most UIViewController

やってみた

staticクラスの関数にしている例ですが、keyWindowから取得してwhileで一番上のUIViewControllerを返します。


    static func getTopMostViewController()->UIViewController{
        var tc = UIApplication.sharedApplication().keyWindow?.rootViewController;
        while ((tc!.presentedViewController) != nil) {
            tc = tc!.presentedViewController;
        }
        return tc!;
    }

まとめ

特にありません

↓こんな記事もありますよ!

デバッグ時とリリース時に処理を変更する#ifdef DEBUG のやり方

DEBUG時だけ特定の動作をさせて、リリース時に排除したい、そんな時に利用する方法です。Swiftでは標準ではDEBUGとリリースの判断がつかないので、 コンパイル時に設定する必要があります

UINavigationController

TabBarとUITableViewControllerを利用して一つのUIViewControllerだけをクリックすると右にスライドするUINavigationControlerを 利用したサンプルを記載します。というのも、AppDelegate内でUINavigationをself.windowのrootviewcontrollerにセットする 方法は多々あったのですが、AppDelegate内を利用しないでNavigationを実装する方法がなくハマっていましたのでを以下記載します

UIScrollViewでパラパラ画像切り替え

画像のパラパラ切り替えフォトギャラリーを作成できます。大きな画像の一部分だけを切り抜きしてマスク表示するクラスです。
このエントリーをはてなブックマークに追加
右側のFacebookのLikeをクリック頂けると記事更新の際に通知されますので宜しければご利用下さい!