Hjem Sosiale medier Hvordan man styrer koblinger i en webvisning i iOS-appen din - dummies

Hvordan man styrer koblinger i en webvisning i iOS-appen din - dummies

Video: Top 10 Outlook Free Add-ins 2024

Video: Top 10 Outlook Free Add-ins 2024
Anonim

En interessant ting om visninger i iOS-appen din som gjør (eller kan) laste ekte webinnhold til appen din i stedet for å bruke en nettleser - er at linkene er live og brukere kan følge disse linkene fra den visningen hvis du lar dem.

Etter at brukeren er på værnettstedet, vil brukeren kanskje se på linken NWS New York, NY i øvre venstre hjørne. Hvis brukeren skulle følge den linken, ville han ikke ha mulighet til å komme tilbake til opprinnelig side.

Hm.

For å kunne navigere tilbake til opprinnelsesvisningen, må du opprette en annen knapp og merke den tilbake til Weather (eller hva den tidligere kontrolleren er) slik at brukeren vet at hun kan bruke den til å komme tilbake til forrige utsikt. Å lage denne knappen er ganske enkelt å gjøre.

Kanskje, du vil ikke ha den knappen dukker opp når brukeren er på den opprinnelige nettsiden fordi det på det tidspunktet ikke er noe å gå tilbake. Så, hvordan holder du oversikt over hvem der er i hele navigasjonslinkstrukturen? Her blir du assistert av to webvisning delegate metoder, webView: shouldStartLoadWithRequest: navigationType: og webViewDidFinishLoad:.

webView: shouldStartLoadWithRequest: navigationType: er en UIWebView delegatemetode. Det kalles før en webvisning begynner å laste inn innhold for å se om brukeren vil at lasten skal fortsette.

Først vedta UIWebView-protokollen ved å legge til den dristige koden til WeatherController. h.

#import "DetailViewController. H" @interface WeatherController: DetailViewController @property (svak, ikkeatomisk) IBOutlet UIWebView * weatherView; -d

Husk at når du vedtar en delegatprotokoll, kontrollerer kompilatoren for å forsikre deg om at alle nødvendige metoder faktisk er der, og at alle typer er riktige - så gjør det!

Deretter legger du til denne koden til WeatherController. m.

- (BOOL) webView: (UIWebView *) webView shouldStartLoadWithRequest: (NSURLRequest *) be om navigasjonstype: (UIWebViewNavigationType) navigasjonstype {if (navigationType == UIWebViewNavigationTypeLinkClicked) {hvis ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) { hvis (! [selv. verktøylinje. elementer inneholderObject: selv. backButton]) {NSMutableArray * itemsArray = [self. verktøylinjen. elementer mutableCopy]; [itemsArray addObject: selv. tilbake knapp]; [selv. verktøylinje setItems: itemsArray animated: NO];} else {self. navigationItem. rightBarButtonItem = selv. backButton;}} returnere YES;}

Tidlig på, kontrollerer du om brukeren har rørt en innebygd lenke. (Du må se om en kobling er klikket fordi denne meldingen er sendt til delegaten under flere forskjellige forhold.)

hvis (navigationType == UIwebViewNavigationTypeLinkClicked) {

Deretter sjekker du om du er på en iPad eller ikke. Hvis du er på en iPad, bruker du en verktøylinje, men på en iPhone bruker du en navigeringslinje.

Hvis ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) {

Hvis du er på en iPad og brukeren har klikket på en lenke, vil du ha en tilbakeknapp, slik at brukeren kan komme tilbake. Hvis det er en der, vil du ikke legge til et sekund. Så du ser på elementene i verktøylinjen for å se om selv. BackButton er allerede der.

Hvis det ikke er en Back-knapp der, legger du til den med standardkoden for å gjøre dette: Du kopierer verktøylinjens itms-array til en mutable array kalt elementerArray. Deretter legger du til tilbakeknappen på den og erstatter verktøylinjens array med de gjeldende delene.

{NSMutableArray * itemsArray = [selv. verktøylinjen. elementer mutableCopy];

[elementerArray addObject: selv. tilbake knapp]; 

[selv. verktøylinje setItems: itemsArray animated: NO];}

Deretter legger du goBack: -metoden til filen WeatherController. m. Dette er meldingen som sendes når knappen Tilbake til

Uansett er tappet. - (void) goBack: (id) avsender {[selv. weatherView goBack];}

Til slutt vil du kvitte seg med Tilbake til

Uansett -knappen når du viser den opprinnelige siden. Her er koden for å gjøre det. - (void) webViewDidFinishLoad: (UIWebView *) webView {if ([self. WeatherView canGoBack] == NO) {NSUInteger backButtonIndex = [selv. verktøylinjen. elementer indexOfObject: selv. tilbake knapp]; hvis [([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) && (backButtonIndex! = NSNotFound) {NSMutableArray * itemsArray = [selv. verktøylinje. elementer mutableCopy]; [itemsArray removeObject: self. backButton]; [selv. verktøylinje setItems: itemsArray animated: NO];} else {self. navigationItem. rightBarButtonItem = nil;}}}

Delegaten sendes webViewDidFinishLoad: melding etter at visningen er lastet. På dette punktet sjekker du om det er noe å gå tilbake til (nettvisningen ser på disse tingene). Hvis ikke, fjern knappen fra verktøylinjen eller navigasjonslinjen.
Hvordan man styrer koblinger i en webvisning i iOS-appen din - dummies

Redaktørens valg

Bruk skjermfeltet til å endre QuickBooks 2014 Rapporter - dummies

Bruk skjermfeltet til å endre QuickBooks 2014 Rapporter - dummies

Skjermbildet i QuickBooks Modify Report dialogboksen lar deg kontrollere rapportintervalldatoen, rapportgrunnlaget, kolonnene og en annen formatering. Bokstavene Rapporter datoområde - Datoer, Fra og Til - gjør det samme som Datoer, Fra og Til bokser i Rapportvinduet. Disse boksene lar ...

Bruk skjermfeltet til å modifisere QuickBooks 2013 Rapporter - dummies

Bruk skjermfeltet til å modifisere QuickBooks 2013 Rapporter - dummies

Hvis du klikker Tilpass rapport, QuickBooks viser dialogboksen Endre rapport, som du kan bruke til å tilpasse en rapport. Når du tilpasser en rapport, endrer du rapportens utseende, layout og informasjonen som den oppsummerer. Dialogboksen Endre rapport ser annerledes ut for ulike rapporttyper. Likevel, hvis du ser forbi ...

Bruk fanen Filtre til å modifisere QuickBooks 2014 Rapporter - dummies

Bruk fanen Filtre til å modifisere QuickBooks 2014 Rapporter - dummies

Filtrene kategorien er trolig den mest interessante og en nyttig kategori som er levert av dialogboksen QuickBooks Modify Report. Filtre-fanen lar deg sette opp filtre som du kan bruke til å angi hvilken informasjon som oppsummeres i rapporten. For å bruke Filtrer-fanen velger du først feltet du vil ha ...

Redaktørens valg

Administrere Cloud Computing Resources - dummies

Administrere Cloud Computing Resources - dummies

I teorien bør cloud computing-tjenester ikke være forskjellig fra ressursene i din eget miljø, bortsett fra at de bor eksternt. Ideelt sett har du en komplett visning av cloud computing-ressursene du bruker i dag, eller vil kanskje bruke i fremtiden. I de fleste skymiljøer kan kunden bare få tilgang til ...

Tips for Going Cloud med datanettverkene dine - dummies

Tips for Going Cloud med datanettverkene dine - dummies

Beregning med datanettverket ditt kan være, hva skal du gjøre for å ta nettverket ditt mot skyen? Her er noen anbefalinger: Ikke stole på en dårlig Internett-tilkobling. Først og fremst, før du tar noen av nettverksoperasjonene i skyen, gjør du ...

Nettverkstjenester levert gjennom Cloud Computing - dummies

Nettverkstjenester levert gjennom Cloud Computing - dummies

Tre forskjellige typer nettverkstjenester kan leveres via skyen: applikasjoner , plattformer og tjenester (infrastruktur). I de følgende avsnittene beskrives disse tre typer skyttjenester i større detalj. Programmer i skyen Vanligvis kalt Software as a Service (SaaS), fullt funksjonelle applikasjoner kan leveres via skyen. En av ...

Redaktørens valg

10 Hadoop Ressurser verdt en bokmerke - dummies

10 Hadoop Ressurser verdt en bokmerke - dummies

Følgende er ti fantastiske Hadoop-ressurser som er verdige til å skape en bokmerke i nettleseren din. Disse ressursene hjelper deg med å skape en livslang læringsplan for Hadoop. Sentralnervesystemet: Apache. org Apache Software Foundation (ASF) er det sentrale fellesskapet for open source-programvareprosjekter. Ikke bare et prosjekt kan være et Apache-prosjekt - ...

Data transformasjon i Hadoop - dummies

Data transformasjon i Hadoop - dummies

Ideen om Hadoop-inspirerte ETL motorer har fått mye trekkraft de siste årene. Hadoop er trods alt en fleksibel datalagrings- og behandlingsplattform som kan støtte store mengder data og operasjoner på dataene. Samtidig er det feiltolerant, og det gir mulighet for kapital- og programvarekostnad ...

Datablokker i Hadoop Distributed File System (HDFS) - dummier

Datablokker i Hadoop Distributed File System (HDFS) - dummier

Når du lagrer en fil i HDFS, bryter systemet det ned i et sett med individuelle blokker og lagrer disse blokkene i forskjellige slave noder i Hadoop-klyngen. Dette er en helt vanlig ting å gjøre, da alle filsystemer bryter filer ned i blokker før de lagres til disk. HDFS har ingen ...