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

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

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

HOME > UINavigationController

UINavigationController


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

サンプル画像

参考:JavaScriptプログラマがSwift iOSアプリを2週間で作って公開してみた〜その5 UITabBarController & UINavigationController〜
参考:012 UINavigationControllerの表示
参考:How to add an UINavigationController to an existing UIViewController programmatically

やってみた

UITabViewControllerの方法は割愛します。既にMainTabViewController (UITabViewController) と読み込まれるfirstView (UIViewController) とsecondView (UIViewController) が作成されていることが前提です。以下の画像のような状態。

参考:013 UITabBarControllerでタブの表示

サンプル画像

この状態で修正コードを記載します

変更前



import UIKit

class MainTabViewController: UITabBarController {
    
    var firstView: FirstViewController!
    var secondView: SecondViewController!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        firstView = FirstViewController()
        secondView = SecondViewController()
        
        firstView.tabBarItem = UITabBarItem(tabBarSystemItem: UITabBarSystemItem.Featured, tag: 1)
        secondView.tabBarItem = UITabBarItem(tabBarSystemItem: UITabBarSystemItem.Bookmarks, tag: 2)
        
        self.setViewControllers([firstView, secondView], animated: false)

    }
}


変更後



import UIKit

class MainTabViewController: UITabBarController {
    
    var firstView: FirstViewController!
    var secondView: SecondViewController!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        firstView = FirstViewController()
        secondView = SecondViewController()
        
        firstView.tabBarItem = UITabBarItem(tabBarSystemItem: UITabBarSystemItem.Featured, tag: 1)
        secondView.tabBarItem = UITabBarItem(tabBarSystemItem: UITabBarSystemItem.Bookmarks, tag: 2)
        
        var secondViewNavigationController = UINavigationController(rootViewController: secondView)
        secondView.title = "UINavigationControllerです";
        
        self.setViewControllers([firstView, secondViewNavigationController], animated: false)

    }
}

TabViewController[firstView]と[secondViewを追加したnavigationcontroler]を追加しています。


ナビゲーションの画面上部のバーを消す方法

以下のBarHiddenプロパティを利用して表示を消します


self.navigationController.navigationBarHidden = NO;//Yes = 表示, No = 非表示


ナビゲーションの画面上部のバーの高さを取得する方法

以下のnavigationコントロールのサイズから取得します


let navBarHeight = self.navigationController?.navigationBar.frame.size.height

まとめ

この方法も頻繁に使用していたのですが、いつも忘れていましたので、どなたかの助けになれば幸いです。

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

NSURLConnectionでHTTPやFTPアクセス

今回はiPhoneとサーバ間でHTTPやFTPプロトコル通信を行うNSURLConnectionの説明

UITabBarItem

タブバーを利用した時にアイコンがデフォルトのものだけでは物足りなかったのでフリー素材でよさそうなサイトがあったので共有です。 500個も魅力的でオーソドックスで使いやすいアイコン盛りたくさん。

AppleWatchのアプリ登録が開始されました、開発部分を少し翻訳

ItunesconnectにもAppleWatchのアイコン やスクリーンショットが登録できる画面が追加されています。あと24日、登録予定している人は審査を考えても後10日程度ではないでしょうか。 スタートダッシュに追いつくには今が頑張りどころなのかもしれません!
このエントリーをはてなブックマークに追加
右側のFacebookのLikeをクリック頂けると記事更新の際に通知されますので宜しければご利用下さい!