Есть класс NavigationController: UINavigationController. Вместо стандартного UINavigationBar размещаю свою view c высотой 75. Как в topViewController сделать нужный отступ сверху? Пробовал делать это в методе делегата willShowViewController - позиция вообще не изменяется.
//
// NavigationController.swift
//
import UIKit
class NavigationController: UINavigationController, UINavigationControllerDelegate {
override init(rootViewController: UIViewController) {
super.init(rootViewController: rootViewController)
navigationBarHidden = true
interactivePopGestureRecognizer?.delegate = nil
self.delegate = self
addNavigationView()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: NSBundle?) {
super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)
}
func addNavigationView() {
let navigationView = UIView(x: 0, y: 0, w: view.w, h: 75)
navigationView.backgroundColor = UIColor.blueColor()
view.addSubview(navigationView)
}
// MARK: Delegate
func navigationController(navigationController: UINavigationController, willShowViewController viewController: UIViewController, animated: Bool) {
viewController.view.y = 75;
}
func navigationController(navigationController: UINavigationController, didShowViewController viewController: UIViewController, animated: Bool) {
}
}