Имам проблеми при опит да внедря навигационна странична лента за приложение. Като се има предвид, че списъците с източници са толкова видни в приложенията на OS X и че Указанията на Apple за човешкия интерфейс се отнасят до списъка с източници като идеален начин за навигация в приложението, изненадан съм, че няма повече налични ресурси (не че мога намерете все пак). Всичко, което се отнася до разделени изгледи, което мога да намеря, изглежда се отнася до ios.
Нямам проблеми с внедряването на съдържанието на списъка с източници, проблемът ми възниква, когато става въпрос за размяна на изгледи въз основа на избора в списъка с източници.
По същество искам потребителят да избере опция в списъка с източници от главната страна на разделен изглед и след това съответният изглед да бъде зареден в детайлната страна на разделения изглед. Не съм сигурен дали има лесен начин за внедряване на нещо подобно с помощта на разкадровки, както има за контролер за изглед на раздели например? Ако не, може ли някой да предложи основна реализация в swift, за да ми помогне да започна? Не съм сигурен откъде да започна от страна на нещата за смяна на изгледа.
Благодаря предварително.
РЕДАКТИРАНЕ:
В допълнение към моята предишна публикация, включих по-долу основно изпълнение на размяна на изгледи, но когато изгледът се замени, предишният изглед остава. В допълнение към въпросите ми за това как да премахна предишния изглед, преди да добавя нов? Моят ред от код removeFromSuperView() изглежда причинява големи проблеми!
import Cocoa
клас AppController: NSObject {
@IBOutlet weak var ourView: NSView!
var ourViewController: NSViewController!
let kFirstViewTag = 0
let kSecondViewTag = 1
let kFirstView = "FirstViewController"
let kSecondView = "SecondViewController"
@IBAction func changeView(sender: NSPopUpButton) {
let tag = sender.selectedTag()
self.changeViewController(tag)
}
func changeViewController(tag: Int){
ourViewController.view.removeFromSuperview()
switch tag{
case kFirstViewTag:
self.ourViewController = FirstViewController(nibName: kFirstView, bundle: nil)
case kSecondViewTag:
self.ourViewController = SecondViewController(nibName: kSecondView, bundle: nil)
default: print("There was an error with the view controller change")
}
ourView.addSubview(ourViewController.view)
}
override func awakeFromNib() {
self.changeViewController(kFirstViewTag)
}
}