Реализация на страничната лента на списъка с източници в Swift с разделен изглед

Имам проблеми при опит да внедря навигационна странична лента за приложение. Като се има предвид, че списъците с източници са толкова видни в приложенията на 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)
}

}


person user3932488    schedule 25.10.2015    source източник


Отговори (1)


Всеки, който се интересува от решение за премахване на проблема с изгледа, който изпитвах, просто замених изгледа, премахнете от superview със следния код: self.ourViewController?.view.removeFromSuperview()

Проблемът, който изпитвах, се дължи на това, че контролерът на изгледа е незадължителна стойност. Лек пропуск от моя страна.

След това списъкът с източници на страничната лента може да бъде адаптиран чрез използване на свойството за промяна на избора на списъка с източници, за да задейства промяната на изгледа.

Ще публикувам пълно решение, след като бъде завършено, ако някой се интересува.

person user3932488    schedule 27.10.2015
comment
Аз се интересувам :) - person Roee84; 12.09.2016
comment
аз също. В момента бъркам. Благодаря ти. Или PM също е добре дошъл, ако това е възможно. - person Lord iPhonius; 11.05.2017