Hjem Sosiale medier Slik håndterer du hendelser mens din iOS-applikasjon utføres - dummier

Slik håndterer du hendelser mens din iOS-applikasjon utføres - dummier

Video: Juegos para iOS - Flappy Bird con Swift 10 - Detectar Colisiones @JoseCodFacilito 2024

Video: Juegos para iOS - Flappy Bird con Swift 10 - Detectar Colisiones @JoseCodFacilito 2024
Anonim

De fleste hendelsene som sendes til en iOS-app, er innkapslet i et hendelsesobjekt - en forekomst av UIEvent-klassen. I tilfelle berøringsrelaterte hendelser inneholder hendelsesobjektet en eller flere berøringsobjekter (UITouch) som representerer fingrene som berører skjermen.

Når brukeren plasserer fingrene på skjermen, beveger de dem rundt, og fjerner dem til slutt fra skjermen. Systemet rapporterer endringene for hver finger i det tilsvarende berøringsobjektet.

Distribusjon og håndtering hendelser er jobben til responder objekter, som er forekomster av UIResponder klassen. UIApplication, UIViewController, UIWindow og UIView klasser (og din egen AppDelegate) alle arver fra UIResponder. Etter å ha trukket et arrangement utenfor hendelsekøen, sender appen den hendelsen til UIWindow-objektet der det oppstod.

Vinduets objekt videresender igjen hendelsen til sin første responder, utpekt til å være den første mottakeren av andre hendelser enn berøringshendelser. Ved berøringshendelser er den første responderen vanligvis visningsobjektet (UIView) der berøringen fant sted. For eksempel blir en berøringshendelse som forekommer i en knapp, levert til det tilsvarende knappobjektet.

Hvis den første responderen ikke klarer å håndtere en hendelse, videresender hendelsen til sin neste responder, som vanligvis er en Parent View eller View Controller. Hvis objektet ikke klarer å håndtere hendelsen, videresender den det til neste responder, og så videre til hendelsen håndteres.

Denne serien av koblede responder objekter er kjent som responder kjeden. Meldinger fortsetter å reise opp responderkjeden - mot responderobjekter på høyere nivå, for eksempel vinduet, appen og appens delegat - til hendelsen enten håndteres eller kasseres.

Responder-objektet som håndterer et arrangement, setter ofte en rekke programmatiske handlinger av appen i gang. Følgende liste gir kronologien til hva som faktisk skjer når brukeren taper noe:

  1. Et berøringshendelseobjekt blir opprettet som svar på brukerens trykk.

    Ved å trykke på en finger, legger du til en berøringshendelse i appens hendelseskø, der hendelsen er innkapslet - plassert i, med andre ord - et UIEvent-objekt. Et UITouch-objekt eksisterer for hver finger som berører skjermen, slik at du kan spore individuelle berøringer. Når brukeren manipulerer skjermen med fingrene, rapporterer systemet endringene for hver finger i den tilsvarende UITouch-objekten.

  2. Run-loop-monitoren sender hendelsen.

    Når noe oppstår som må behandles, berører hendelseshåndteringskoden til UIApplication-prosessene hendelser ved å sende dem til det aktuelle responder objektet - objektet som har registrert seg for å ta ansvar for å gjøre noe når en bestemt type hendelse skjer (når brukeren berører skjermen, for eksempel).

    Responder objekter kan inkludere forekomster av UIApplication, UIWindow og UIView (og noen av dens underklasser), samt UIViewConroller (og noen av sin underklasser). Alle disse klassene arver fra UIResponder.

  3. Et responderobjekt bestemmer hvordan man skal håndtere hendelsen.

    For eksempel leveres en berøringshendelse som skjer med en knapp i en visning, til knappobjektet. Knappobjektet håndterer hendelsen ved å sende en handlingsmelding til et annet objekt - i dette tilfellet UIViewController-objektet. Dette gjør at du kan bruke standardknappobjekter uten å måtte kvele seg i sine internaler - du bare forteller knappen hvilken metode du vil ha påkalt i målet ditt.

    Behandling av meldingen kan føre til endringer i en visning, en ny visning helt eller en annen form for endring i brukergrensesnittet. Når et av disse resultatene oppstår, overtar visnings- og grafikkinfrastrukturen og behandler de nødvendige tegningsarrangementene.

  4. Appen din vender deretter tilbake til løpesløyfen.

    Etter at en hendelse er håndtert eller kassert, går appkontrollen tilbake til løpesløyfen. Run-løkken behandler deretter neste hendelse eller setter tråden i dvale hvis den ikke har noe mer å gjøre.

Men fordi appen din ikke er alene på enheten, kan den bli avbrutt av en SMS-melding, eller brukeren berører Hjem-knappen. Når appen din er avbrutt, må du ta vare på noen ting før kontrollen blir byttet til en annen app.

Slik håndterer du hendelser mens din iOS-applikasjon utføres - dummier

Redaktørens valg

Slik importerer du flere bilder fra mapper til Photoshop Elements 12 - dummies

Slik importerer du flere bilder fra mapper til Photoshop Elements 12 - dummies

For å redigere bilder i Photoshop Elements, må du importere dem til Photoshop Elements Organizer. Anta at du har organisert mappene dine og fotografier kopiert til ulike mapper. Du tar noen flere bilder av familiemedlemmer og vil legge til disse bildene i en mappe du allerede har merket som Familie. For å legge til bilder på ...

Hvordan å skjule filer i Photoshop Elements 11 - dummies

Hvordan å skjule filer i Photoshop Elements 11 - dummies

Photoshop Elements 11 tilbyr noen måter å skjule filer på slik at du kan holde bildene dine organisert og lett å finne. Med en enkel menykommando kan du markere valgte filer i organisatoren som skjult. Du kan ha flere filer av samme emne, og vil bare beholde en fil synlig i ...

Hvordan å løfte og prøve farge i Photoshop Elements 11 - dummies

Hvordan å løfte og prøve farge i Photoshop Elements 11 - dummies

Hvis du har et bilde som har farger du vil legge til i fargeprøver i Photoshop Elements 11, du kan prøve farger i et åpent bilde. Klikk på Eyedropper-verktøyet og klikk hvor som helst på et bilde i bildevinduet, og Eyedropper prøver fargene. Denne teknikken kalles løftefarge, selv om ...

Redaktørens valg

Batch-prosess flere HDR-bildefiler - dummies

Batch-prosess flere HDR-bildefiler - dummies

Hvis du vil behandle flere høydynamiske rekkeviddebilder bare ved en gang, være på utkikk etter et HDR-program som kan utføre batchbehandling, som Photomatix Pro. Følgende trinn illustrerer hvordan batchprosessering av flere filer fungerer i Photomatix Pro:

Bland HDR-bilder i Photoshop Elements - dummies

Bland HDR-bilder i Photoshop Elements - dummies

Klart, noen HDR-bilderedigeringer krever ikke blanding når du redigerer dem i Photoshop Elements. Si at bildet ser bra ut. En liten skarphet over bildet er bra. Det er ikke behov for støyreduksjon. Du ser ingen grunn (kreativ eller på annen måte) for å blande forskjellige endringer sammen. Kul. Når det skjer, må du ikke rote det ...

Kameravinkel og makrofotografi - dummier

Kameravinkel og makrofotografi - dummier

Mange fotografer har en tendens til å overse kameravinkelen når de fotograferer små fag. I makro- og nærbildefotografering kan du bli så opptatt av å komme nær et emne som du rett og slett tar mest direkte tilnærming, enn å tenke på en bedre som er mer egnet for motivet eller meldingen. Den ...

Redaktørens valg

Hvordan du velger en eksponeringsmålemodus med en Nikon D3100 - dummies

Hvordan du velger en eksponeringsmålemodus med en Nikon D3100 - dummies

For å tolke hva som helst Eksponeringsmåleren på Nikon D3100 forteller deg, du må vite hvilken målemodus som er aktiv. Målemodusen bestemmer hvilken del av rammen kameraet analyserer for å beregne riktig eksponering. Målemodus påvirker eksponeringsmåleravlesningen og eksponeringsinnstillingene som kameraet ...

Hvordan du velger en scenemodus på Nikon D7100-dummies

Hvordan du velger en scenemodus på Nikon D7100-dummies

Hvis du ikke vil For å stole på kameraet for å få den dommen, tilbyr Nikon D7100 scenemodusene, som er laget for å automatisk ta opp bestemte scener på måter som tradisjonelt anses best fra et kreativt synspunkt. For eksempel foretrekker folk flest portretter som har sakte fokusert bakgrunn. Så i portrettmodus, vil kameraet ...

Hvordan du velger Live View Focusing Par med en Nikon D3100 - dummies

Hvordan du velger Live View Focusing Par med en Nikon D3100 - dummies

Måten Nikon D3100 setter fokus når i Live View-modus og videoopptak avhenger av fokusmodus og AF-modus modusinnstillinger. Hvis du bruker settlinsen (eller lignende linser), må du også sette bryteren på linsen til enten A for autofokusering eller M for manuell fokusering. ...