Navigációs vezérlők (navigáció vezérlők) ios uinavigationcontroller, alma, Xcode

Navigációs vezérlők (navigáció vezérlők) ios uinavigationcontroller, alma, Xcode

Navigation Controller kezeli a köteg típusú vezérlők, hogy fenntartsák a felület tagoltságát hierarchikus tartalom közzététele. Faj hierarchia navigációs vezérlő önellátó. Ez áll a fajta ábrázolás, amely közvetlenül irányítja a navigációs vezérlő és a különféle nézetek, amelyek kezelik a tartalmat, feltéve féle vezérlő. Minden tartalom vezérlő vezérli explicit formában a hierarchia és a navigációs vezérlő koordinálja a navigációs közötti hierarchia ezt a fajt.

Bár navigációs felület Elsősorban a felhasználó által generált tartalom, még mindig vannak olyan helyek, ahol a kód van szükség, hogy közvetlen kapcsolatot a tárgy navigációs vezérlőt. Amellett, hogy a fenti, közben a kijelző egy új típusú, akkor felelős az navigációs sáv a képernyő tetején, amely keretében a felhasználó pozícióját a navigációs hierarchiában. Azt is adja meg a részleteket az eszköztár, amely ellenőrzi a navigációs vezérlőt.

navigációs vezérlő Anatomy

A fő cél a navigációs vezérlő kezeli a tartalom benyújtását a maga nemében az adatkezelő, mint ő a felelős a bemutató néhány ötletet a saját egyéni nézetek. Különösen ez a navigációs sáv, amely egy vissza gombot és egy pár gomb, hogy lehet beállítani. A navigációs vezérlő is (adott esetben), azzal a céllal, hogy bemutassa a navigációs eszközök panel és a saját gombokat töltse meg.

Az alábbi ábra mutatja a navigációs felület. navigáció nézetek ez a szám a céllal tárolt tulajdonság nézet navigációs vezérlő. Minden más típusú interfész része az átlátszatlan nézet hierarchia-vezérelt navigációs vezérlő.

Navigációs vezérlők (navigáció vezérlők) ios uinavigationcontroller, alma, Xcode

Bár a navigációs sáv és az eszköztár testre szabható fogalmak fajok, soha ne változtassa meg a faj a navigációs hierarchia is. Az egyetlen módja annak, hogy hozzanak létre az ilyen típusú - az osztály módszerek UINavigationController és UIViewController.

Tárgyak navigációs felület

A navigációs vezérlő használ több objektumot a végrehajtás a navigációs felület. Ön felelős a rendelkezésre néhány ezeket a tárgyakat, és mások által létrehozott navigációs vezérlő. Különösen akkor felelős azért, hogy a különféle tartalmak vezérlők. Ha azt szeretnénk, hogy válaszoljon a hirdetmény a navigációs vezérlő, akkor is biztosítani egy objektum-megbízottja. navigációs vezérlő létrehoz egy faj - például a navigációs sáv és egy eszköztár, lehet mozogni a felületet, és felelős a gazdálkodás ezen fajok.

A navigációs sáv és egy eszköztár kapcsolatos tárgyak navigációs vezérlő, akkor csak változtatni néhány szempontból a megjelenését és viselkedését. Csak a navigációs vezérlő felelős a beállítás és megjelenítését. Ezen kívül a navigációs vezérlő objektum automatikusan hozzárendeli magát küldötte ő UINavigationBar tárgy és nem teszi lehetővé a más tárgyak izmenenyat ez az arány.

Módosíthatja a megbízott ellenőrök és más típusú navigációs verem. Navigáció verem a gyűjtemény utolsó-in, first-out egyedi objektum típusú vezérlők, amely által ellenőrzött navigációs vezérlő. Az első elem az a verem, egyre Korenev vezérlő típusát, és soha nem tolta ki a verem. További elemek is adhatunk a verem keresztül UINavigationController osztály módszerek.

Az alábbi ábra mutatja a megfelelő kapcsolat a vezérlő és a navigációs tárgyak a verem navigációs. (Megjegyzendő, hogy a felülnézetben vezérlő (topViewController) és a vezérlő kijelző típusa (visibleViewController) nem feltétlenül egy és ezáltal irányító. Például, ha Ön képviseli a nézetvezérlőben modális tulajdonságok visibleViewController értéke változik, hogy megjelenítse a nézetvezérlőben modális, amely már be, de az ingatlan topViewController nem változott.)

Navigációs vezérlők (navigáció vezérlők) ios uinavigationcontroller, alma, Xcode

Létrehozása navigációs felület

Amikor létrehoz egy navigációs felület, el kell döntenie, hogyan fogsz használni navigációs felület. Mivel szab alapvető fontosságú a szervezet az adatok, akkor azt csak a következő konkrét célok:

  • Telepítse mint a vezérlő Korenevo nézetablakban.
  • Állítsa be a típusa, mint vezérlő interfész tabfülén fülek (Tab bar).
  • Állítsa be a két vezérlők Korenevo faj a felület felosztása (Split View). (Az iPad esetén).
  • Benyújtja azt a modális másik vezérlő típusát.
  • Mutasd meg neki a popover. (IPAD csak).

Az első három forgatókönyv, a navigációs vezérlő döntő részét az alap felület, és így marad, amíg az alkalmazás kilép. Az utolsó két forgatókönyv tükrözik ideiglenes használata a navigációs vezérlő, ebben az esetben a használata a navigációs vezérlő azonos a folyamat más típusú tartalmak vezérlők. Az egyetlen különbség az, hogy a navigációs vezérlő továbbra további navigációs funkciók nem elérhető egyetlen adatkezelő bemutató tartalom típusát.

Beállítás vezérlő típusú tartalmak navigálni interfész

Minden navigációs felület egy szintje képviselő adat a gyökér szinten. Ez a szint a kiindulási pont a felületen. Például az app „Photo” megjelenik egy lista a rendelkezésre álló albumok a gyökér szinten az ő hierarchikus adatszerkezet. Kiválasztása egy fényképalbumot bevétel megjelenítésére képekre a fényképek a kiválasztott album képek mutatják nagyot változata a fotó.

Ahhoz, hogy hajtsák végre a navigációs felület, el kell dönteni, hogy milyen adatokat kell bemutatni minden szinten az adatok hierarchiában. Minden szinten, meg kell adnia a tartalom nézetvezérlőben kezelésére és bemutatására adatokat ezen a szinten. Ha a bemutató több szinten és ugyanaz, akkor létrehozhat több esetben az azonos osztályú típusú vezérlő és állítsa be az összes őket, hogy tudják kezelni a saját adathalmaz.

Készítsen navigációs felület segítségével Jelenetvázlat

Ha létrehoz egy új projekt a Xcode, egy Master-Detail Application sablon létrehoz egy navigációs vezérlőt storyboardon, létre, mint az első szakaszban.

Ahhoz, hogy hozzon létre egy navigációs vezérlőt a forgatókönyvben, kövesse az alábbi lépéseket:

  1. Húzza a navigációs vezérlőt a könyvtárból
  2. Interface Builder létrehoz egy navigációs vezérlőt és típusát, valamint a köztük lévő kapcsolatot. Ez a kapcsolat azonosítja a vezérlő típusát, mint a gyökér a navigációs vezérlő.
  3. Megjeleníteni, mint az első vezérlő képviselet formában van Kezdeti nézet Controller opciót tulajdonítja ellenőr (vagy elképzelni vezérlő típusát felhasználói felület másképp.)

Létrehozása szoftver interfész navigációs

Ha szeretné, hogy hozzon létre egy navigációs vezérlő programból megteheti bármely megfelelő pontján a kódot. Például, ha a navigációs vezérlő kornevoyt keresse meg az alkalmazás ablakában, akkor létrehozhat egy navigációs vezérlőt az eljárás applicationDidFinishLaunching: az alkalmazás küldöttet.

Kövesse az alábbi lépéseket, hogy létrehozzon egy navigációs vezérlő programból:

  1. Hozzon létre egy gyökér nézetvezérlőben (root nézetvezérlőben) navigálni felületen.

Ez az objektum egy felső szintű vezérlő típusú navigációs a verem. A navigációs ablaktábla vissza gomb, amely megjeleníti annak típusát és vezérlő típusát nem lehet kivonni a navigációs verem.

  • Hozzon létre egy navigációs vezérlő, inicializálnunk a initWithRootViewController módszerrel.
  • Telepítse a navigációs vezérlőt a gyökere a forma az ablak vezérlő (vagy más hozzá, hogy a felület).
  • Egy példa egy egyszerű végrehajtás applicationDidFinishLaunching. ahol is a navigációs vezérlő jön létre, és beállítva, mint egy gyökér formája a fő alkalmazási ablakot vezérlő.

    Használja a teljes képernyős elrendezés navigációs vezérlő

    Általános szabály, hogy a navigációs felület jelenik meg a felhasználó által generált tartalom a szakadék alján a navigációs sáv és a felső részén az eszköztár vagy lap bar. Azonban ahelyett, nézetvezérlőben kérheti, hogy a néző volt látható, mint a teljes képernyő elrendezését. Ez az elrendezés lehetővé teszi, hogy megjelenítse a leglátványosabb része a tartalmat a felhasználók számára, és hasznos lehet megjeleníteni a fényképet vagy más esetekben.

    Annak megállapítására, hogy egy faj módosítani kell a méret, hogy töltse ki az összes vagy a legtöbb képernyőn, a navigációs vezérlőt tekintve több tényező, köztük a következőket:

    • A fő ablak (vagy szülő nézet), a megfelelő méretű, hogy töltse ki a teljes képernyőt?
    • Neked meg a navigációs sáv, mint egy félig átlátszó (áttetsző)?
    • Neked meg a navigációs eszköztár (ha van), mint egy félig átlátszó (áttetsző)?
    • A tulajdon wantsFullScreenLayout mögöttes nézetvezérlőben IGEN?

    Ha létrehoz egy navigációs felület, és szeretné az egyéni tartalom terjed a legtöbb, vagy a teljes képernyőt, itt vannak a lépéseket kell tenni:

    1. Állítsa be az egyéni keret ábrázolások formájában úgy, hogy kitöltse a képernyőt.

    Feltétlenül állítsa attribútumok automatikusan változtatni a megjelenését. Attribútumok automatikusan változik biztosítja, hogy ha a néző meg kell változtatni, akkor ennek megfelelően módosul annak tartalmát. Ezen kívül, ha a megjelenés megváltozik, akkor hívja a módszer setNeedsLayout kedves, hogy megmutassa, hogy a helyzet az ő alfaj kell igazítani.

  • Rejtett navigációs sáv (navigációs sáv), meg az áttetsző tulajdonsága a navigációs vezérlő YES.
  • Rejtett választható eszköztár (eszköztár), állítsa a tulajdonság a vezérlő áttetsző eszköztár YES.
  • Mert elrejti a status bar, állítsa be az wantsFullScreenLayout a nézetvezérlőben YES.
  • Az előadásban a navigációs felület, egy ablak vagy céljából, amely hozzá a navigációs nézet is kell kiszámítani. Ha az alkalmazás egy navigációs vezérlő, mint a fő felületen, akkor a főablak alapján kell kiszámítani, hogy a méret a képernyőn. Más szóval, meg kell állítani a méretét, hogy illeszkedjen a határokat vagyonosztályt UIScreen (helyett ingatlanok applicationFrame). Tény, hogy a navigáció közben általában jobb, hogy saját teljes képernyős ablak határait minden helyzetben, mert a navigációs vezérlő beállítja a mérete a faj, hogy helyezze a status bar automatikusan minden esetben.

    Módosítása a navigációs verem

    Ön felelős a tárgyak létrehozását, amelyek a navigációs verem. Amikor inicializálja a navigációs vezérlő objektum, meg kell adnia a tartalmat nézetvezérlőben megjelenítéséhez adattartalma a gyökér a hierarchiában. Akkor hozzáadni vagy eltávolítani vezérlők féle szoftver válaszul a felhasználói műveletekre. Class navigációs vezérlő számos lehetőséget biztosít irányító tartalmak navigációs verem. Ezek a paraméterek tartalmazzák a különféle forgatókönyvek, akkor találkozhat az alkalmazásban. Az alábbi táblázat ezeket a szkripteket és hogyan reagál rájuk.

    A kijelző a következő szintre a hierarchia adatok

    Amikor a felhasználó kiválaszt egy megjelenített elem felső vezérlő kiszerelési forma lehet használni átmenet (Segue) vagy módszert pushViewController: animált. hogy álljon egy új nézetvezérlőben a navigációs verem. Az új nézet adatkezelő felelős bemutató tartalmát a kijelölt elemet.

    Biztonsági másolatot az adatokról hierarchia

    navigációs vezérlő jellemzően a Vissza gombot, hogy távolítsa el a felső nézetvezérlőben ki a köteget, és térjen vissza az előző képernyőre. Azt is vegye ki a felső nézetvezérlőben más programból popViewControllerAnimated módszerrel.

    Visszaállítása navigációs verem Előző állapot

    Visszaállítani az alkalmazást a korábbi állapot, először meg kell menteni ahhoz, állapot információt, hogy újra létrehozni a kívánt típusú vezérlők. Amikor a felhasználó bezárja az alkalmazást, akkor meg kell tartani bizonyos markerek vagy egyéb információk, a felhasználó pozícióját a adathierarchiára. A következő alkalommal, amikor elindítja, akkor olvassa el az információkat az állami és használja újra a kívánt típusú vezérlők hívás előtt setViewControllers módszer: animált.

    Ön is használja ezt a módszert, hogy ugrik egy tetszőleges helyen a adathierarchiára. Az átmenet egy tetszőleges helyen könnyen lehet zavaró, ezért különös figyelmet fordítanak a kapcsolat, amely egyértelműen történik a felhasználó.

    Visszaadja a felhasználó a root nézetvezérlőben

    Hogy visszatérjen a tetején a navigációs felület használja popToRootViewControllerAnimated módszer. Ez az eljárás eltávolítja az összes, kivéve Korenevo vezérlő típusát a navigációs verem.

    Visszatérve a tetszőleges számú szintet a hierarchiában

    Vissza több mint egy szintet egy időben, használja a módszert popToViewController: animált. Akkor használja ezt a módszert, ha olyan navigációs vezérlő szerkesztése felhasználó által generált tartalom (nem modális bemutatása tartalom). Ha a felhasználó úgy dönt, hogy megszünteti a művelet után szerkesztési ment keresztül, több képernyő, akkor használja ezt a módszert, hogy távolítsa el az összes szerkesztési képernyők egyszerre, hanem egymás után.

    Változások nyomon követése a navigációs stack

    Ha megnyomja az nézetvezérlőben, navigációs vezérlő üzeneteket küld az érintett vezérlők faj. navigációs vezérlőt is küld egy üzenetet, hogy a küldött, amikor változik a verem. Az alábbi ábra az eseményeket, amelyek előfordulnak a műtét során és a kapcsolódó üzeneteket küldött felhasználói objektumok minden szakaszában. Az új vezérlő típusát tükrözi típusú vezérlő fog válni a tetején a vezérlő típusát a verem.

    Navigációs vezérlők (navigáció vezérlők) ios uinavigationcontroller, alma, Xcode

    Szabni a navigációs sáv

    A navigációs sáv helyezi az elemeket három fő pozíciók: balra, jobbra, és a központ. Az alábbi táblázat felsorolja a tulajdonságait UINavigationItem osztályban. amelyek segítségével állítsa be az összes ezeket a pozíciókat. Amikor beállítja a navigációs elem használata a navigációs vezérlő, akkor figyelembe kell vennie, hogy a felhasználó szabályozza az egyes pozíciókban lehet figyelmen kívül hagyni az érdeke navigációs vezérlők. A leírás az egyes pozíció információt tartalmaz, hogyan kell használni az egyéni tárgyakat.