Я делаю свой интерфейс в коде, и я пришел к проблеме, что мой UIViewController
едет за моей панелью UINavigationController
.UIViewController за UINavigationController Bar - правильный путь
Я немного погуглел, и, похоже, есть три решения. Все, однако, относится к переходу с iOS 6 на iOS 7, и все это похоже на взлом. Я не могу себе представить, что это все еще так, как нужно.
Решения устраняют прозрачность, которую я не хочу делать. В какой-то момент времени мне может потребоваться прокрутка содержимого, а затем покажется слегка размытым на фоне панели навигации. Другое решение - все перемещать, добавляя «поддельные» дополнения. Это также не идеально, так как я не знаю, будет ли мой контент ни разу не выходить за пределы экрана, а затем, как упоминалось ранее, я хотел бы, чтобы содержимое заходило за панель навигации. Тогда есть последнее решение self.edgesForExtendedLayout = UIRectEdge.None
, которое кажется ужасно похожим на хак.
Может быть, это, однако, из-за того, как я инициирую мой UIViewController
поэтому я добавлю код, я использую в моем AppDelegate
здесь:
var window: UIWindow?
var navigationController: UINavigationController?
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
window = UIWindow()
if let window = window {
window.backgroundColor = UIColor.whiteColor()
let vc = CustomUIViewController()
navigationController = UINavigationController(rootViewController:vc)
if let _ = navigationController {
window.rootViewController = navigationController
}
window.makeKeyAndVisible()
}
return true
}
В настоящее время я использую self.edgesForExtendedLayout = UIRectEdge.None
в viewDidLoad()
обходный, но он не чувствует себя хорошо.
Благодарим за любые советы по правильному решению этой проблемы.
Если первое подзаголовок вашего UIViewController - это UIScrollView, вы можете установить автоматическиAdjustScrollViewInsets на YES, а прокрутка должна быть хорошо вставлена –