Hjem Sosiale medier Slik styrer du visningen i din iPad App - dummies

Slik styrer du visningen i din iPad App - dummies

Video: iOS 13 fra Apple – Se de nye features og få tips og tricks til styresystemet | Telia 2024

Video: iOS 13 fra Apple – Se de nye features og få tips og tricks til styresystemet | Telia 2024
Anonim

Når du lager din iPad-app, må du inkludere kode som styrer visningen i den appen. Følgende eksempel er iPad-appen utformet for å vise ord som ruller nedover skjermen. Etter at du har åpnet DeepThoughtsViewController. m-filen slik at den vises i tekstredigereren, vil du sette inn koden i fet skrift (koden som ikke er fet leveres av View-Based Application-malen):

#import "DeepThoughtsViewController. h" #import " Konstanter. h " @implementation DeepThoughtsViewController @ Synkroniser hastighet, imageView; #pragma mark - #pragma mark Vis livssyklus / * // Den angitte initialisatoren. Overstyr for å utføre oppsettet som kreves før visningen er lastet. - (id) initWithNibName: (NSString *) nibNameOrNil bunt: (NSBundle *) nibBundleOrNil {hvis (selv = [super initWithNibName: nibNameOrNil bundle: nibBundleOrNil]) {// Custom initia lization} returner selv;} * / / * // Implement loadView for å lage et visningshierarki programmatisk uten å bruke en nib. - (void) loadView {} * / / * // Implement viewDidLoad å gjøre ekstra oppsett etter at du har lastet opp visningen, vanligvis fra en nib. - (void) viewDidLoad {[super viewDidLoad];} * / - (void) viewDidLoad { [super viewDidLoad]; [NSTimer scheduledTimerWithTimeInterval:. 5 mål: selector: @selector (onTimer) userInfo: null repeats: YES]; hvis {! [[NSUserDefaults standardUserDefaults] objectForKey: kWordsOfWisdom]) { [[NSUserDefaults standardUserDefaults] setObject: @ " Peace Love Groovy Musikk " forKey: kWordsOfWisdom]; fallingWords = @ " Peace Love Groovy Music " ; } else { fallingWords = [[NSUserDefaults standardUserDefaults] stringForKey: kWordsOfWisdom]; } hvis (! [[NSUserDefaults standardUserDefaults] objectForKey: kSpeed]) { [[NSUserDefaults standardUserDefaults] setDouble: 10. 0 forKey: kSpeed]; hastighet = kMaxSpeed-10. 0;} else { speed = kMaxSpeed ​​- [[NSUserDefaults standardUserDefaults] doubleForKey: kSpeed]; } } #pragma mark - #pragma mark Animasjon - (tom) onTimer { UILabel * fallingImageView = [[UILabel alloc] initWithFrame: CGRectMake (0, 0, 100, 30)]; fallingImageView. tekst = fallingWords; fallingImageView. textColor = [UIColor purpleColor]; fallingImageView. font = [UIFont systemFontOfSize: 30]; fallingImageView. backgroundColor = [UIColor clearColor]; fallingImageView. adjustsFontSizeToFitWidth = YES; int startX = runde (tilfeldig ()% 400); int endX = runde (tilfeldig ()% 400); // fallfall dobbelt randomSpeed ​​= (1 / runde (tilfeldig ()% 100) +1) * hastighet; // bildestørrelse; dobbelt skalaH = (1 / runde (tilfeldig ()% 100) +1) * 60; dobbelt skalaW = (1 / runde (tilfeldig ()% 100) +1) * 200; [selv.se addSubview: fallingImageView]; fallingImageView. ramme = CGRectMake (startX, -100, skalaW, skalaH); fallingImageView. alfa =. 75; [UIView startAnimations: null kontekst: fallingImageView]; [UIView setAnimationDuration: randomSpeed]; [UIView setAnimationDelegate: self]; [UIView setAnimationDidStopSelector: @selector (animationDone: ferdig: kontekst:)]; fallingImageView. ramme = CGRectMake (endX, self. view. ramme. størrelse. høyde, skalaW, skalaH); [UIView commitAnimations]; } - (void) animasjonDone: (NSString *) animasjonID ferdig: (NSNummer *) ferdig kontekst: (id) kontekst { UIImageView * fallingImageView = context; [fallingImageView removeFromSuperview]; [fallingImageView release]; } #pragma mark - #pragma mark Kontroller - (IBAction) innstillinger { } #pragma mark - #pragma mark Orientering // Overstyr for å tillate andre retninger enn standardportrettens orientering. - (BOOL) shouldAutorotateToInterfaceOrientation: (UIInterfaceOrientation) interfaceOrientation {return YES;} #pragma mark - #pragma markere Memory Management - (void) didReceiveMemoryWarning {// Utgir visningen hvis den ikke har en overvåkning. [super didReceiveMemoryWarning]; // Slett eventuelle bufret data, bilder osv. Som ikke er i bruk.} - (void) viewDidUnload {// Slett eventuelle beholdte undervisninger av hovedvisningen. // e. g. selv. myOutlet = nil;} - (void) dealloc {[super dealloc];} @end

Her er en oversikt over koden du legger til:

  • Den første setningen du legger til, importerer konstantene. h-fil. Du kan nå bruke noen nøkler du konfigurerer med NSUserDefaults i den påfølgende koden for å hente brukerinnstillingene.

  • Mål-C lager tilgangsmetoder du trenger for deg når du inkluderer en @synthesize-setning; setningen i den forrige koden oppretter en tilgangsmetode for hver @property-deklarasjon (hastighet og bildevisning).

  • De to # pragma-markeringene inneholder initialiserings- og lastevisningskoden.

  • MessageDidLoad-meldingen sendes rett etter at visningen er lastet fra nib-filen (.xib-filen du kan endre i grensesnittbyggeren). Dette er stedet du setter inn koden din for visning initialisering, som i dette tilfellet betyr å vise DeepThoughts fallende ord. Metoden ViewDidLoad du legger inn starter ved å sette opp en tidsur for intervallet mellom hver visning av fallende ord.

    Du bruker NSTimer-klassen til å lage timere. En timer venter til et bestemt tidsintervall har gått og brenner, og sender en spesifisert melding til et målobjekt. Denne koden bruker scheduledTimerWithTimeInterval: mål: selector: userInfo: repeats: klassemetode for å opprette timeren og planlegge den på den nåværende løpsløyfen i standardmodus. Intervallet er 0. 5 sekunder, målet er selv, og väljeren er meldingen som skal sendes til målet når timeren brenner - i dette tilfellet onTimer. BrukerInfo er brukerinformasjonen for timeren (satt til null), og timeren er innstilt for å gjenta - det vil si at det vil gjentatte ganger omordne seg til det er ugyldiggjort.

  • Deretter kontrollerer koden for å se om kWordsOfWisdom-innstillingen er flyttet til NSUserDefaults.

  • Koden beveger brukerens preferanser til NSUserDefaults bare etter at programmet kjører for første gang. Hvis innstillingene ikke er flyttet til NSUserDefaults ennå, bruker koden den innledende preferanseverdien ("Peace Love Groovy Music") for fallingWords. Hvis innstillingene er blitt flyttet til NSUserDefaults, leser koden dem i og setter deretter fallWords til hva brukerens preferanse er. Koden gjentar denne sjekken med hastighetsinnstillingen.

    Du bruker standardUserDefaults (en NSUserDefaults klassemetode) for å få tilgang til standardbrukerens standardinnstillinger, og du kan lagre data der.

  • #pragma-merket med tittelen Kontroller inneholder innstillingsmetoden for plassholderen for å koble Light Info-knappen til visningsregulatoren. Dette er handlingsmetoden ved hjelp av IBAction-kvalifiseringen.

  • Koble timeren til selve tegningen av skjermen, er onTimer-metoden. UILabel-klassen implementerer en skrivebeskyttet tekstvisning. Du kan bruke denne klassen til å tegne en eller flere linjer med statisk tekst. I dette tilfellet bruker kodeblokken initWithFrame-metoden med CGRectMake for å lage et rektangel, med x-koordinat og y-koordinat av rektangelets opprinnelsespunkt ved (0, 0) og en spesifisert bredde og høyde (100, 30).

  • Koden konverterer fallingWords-strengen til fallingImageView for visning; setter opp tekstfarge, skrifttype og bakgrunnsfarge; og justerer skriftstørrelsen for bredden. Font- og textColor-egenskapene gjelder for hele tekststrengen.

  • Den neste koden bruker den tilfeldige funksjonen for start- og sluttpunktene (startX og endX), for hastighet og for bredde (skalaW) og høyde (skalaH) for fallingImageView.

  • StartAnimations: context: metode starter animasjonsblokken, og commitAnimations-metoden avslutter blokken. Inne i blokken setter koden eiendomsverdier for å lage visuelle endringer som omfatter animasjonen.

  • Metoden setAnimationDuration angir animasjonsvarigheten, og setAnimationDidStopSelector setter meldingen til å sende til animasjonsdelegatet når animasjonen stopper. Animasjonsdelegasjonen er animasjonDone, som bruker removeFromSuperview (en instansmetode i UIView-klassen) for å fjerne fallingImageView og bruker deretter utgivelse (en instansmetode i NSAutoreleasePool-klassen) for å slippe fallingImageView.

  • Endelig har denne koden to # pragma-markeringer for å markere delen som Orientering og to mer # pragma-markeringer over metoden didReceiveMemoryWarning for å markere den delen som Memory Management.

Slik styrer du visningen i din iPad App - dummies

Redaktørens valg

10 Måter å varme opp og slappe av før og under GRE-dummies

10 Måter å varme opp og slappe av før og under GRE-dummies

GRE er like mye fysisk trening som det er mentalt, og det er mer som en maraton enn en sprint. Hvis du kommer ut av blokkene med en sprintens tempo, er du sikker på å raskt eksosere deg selv. Nøklene til å komme til enden og fullføre sterken, oppvarmer seg mentalt og holder seg i orden ...

Argument analyse på GRE - strategier og praksis spørsmål - dummies

Argument analyse på GRE - strategier og praksis spørsmål - dummies

Når du takler et argument Analysespørsmål på GRE, din jobb er å identifisere om forfatteren har gjort en tilstrekkelig jobb med å presentere og støtte sin stilling. Graduate skoler forventer at du ikke bare skal lese med forståelse, men også å undersøke informasjonen og argumentet som presenteres og sortere logikken som er rimelig fra ...

Argument analyse på GRE Verbal Essay Test - praksis spørsmål - dummies

Argument analyse på GRE Verbal Essay Test - praksis spørsmål - dummies

Når du tar GRE Verbal testen, et av essay spørsmålene vil be deg om å analysere et argument. Du må lese argumentet, se på sine underliggende forutsetninger, og deretter forklare hvordan disse forutsetningene påvirker argumentet. Følgende praksis spørsmål ligner på hva du finner på testen. Øvelsesspørsmål Tid: ...

Redaktørens valg

Oversikt over sikkerhetspolitikk for mobilenheter - dummier

Oversikt over sikkerhetspolitikk for mobilenheter - dummier

Sikkerhetspolitikk for mobile enheter som knytter seg til bedriftsnettverket kan deles inn i to kategorier: retningslinjer for godkjente enheter og retningslinjer for andre enheter. Enhetspolicyer. Her er en oversikt over de to kategoriene av enhetsretningslinjer som du må kommunisere med brukere: Politikk for godkjente enheter: Denne policyen gjelder for alle bedriftsutstedte ...

Oversikt over mobilenhetssikkerhet gjennom skybaserte beskyttelser - dummies

Oversikt over mobilenhetssikkerhet gjennom skybaserte beskyttelser - dummies

Ved hjelp av skybasert endpoint-sikkerhet er en metode for å beskytte enterprise mobile enheter fra virus, malware, spam og andre trusler. Den faktiske trusselsbeskyttelsen skjer i skyen eller sentralisert datasenter for sluttpunktsprogramvareleverandøren i denne typen distribusjon. Trafikk til og fra de mobile enhetene blir omdirigert på enheten til ...

Oversikt over mobilenhetssikkerhet gjennom enhetsadministrasjon - dummies

Oversikt over mobilenhetssikkerhet gjennom enhetsadministrasjon - dummies

Nå som du har tenkt på å sikre mobilen enheter på nettverket ditt fra trusler som virus og malware, er det på tide å planlegge for ekstern håndheving av retningslinjer for enhetsadministrasjon eller sikkerhet. Du får ideen. Det handler om enhetssikkerhetsetikett, om å ta de enkle, men ofte ignorerte trinnene for å beskytte vitale data lagret på ...

Redaktørens valg

Hånd- og håndleddskader grunnleggende for legeassistenteksamen - dummies

Hånd- og håndleddskader grunnleggende for legeassistenteksamen - dummies

Legeassistenteksamen PANCE) vil stille spørsmål om forhold som påvirker hånden og håndleddet. De spenner fra godartede cyster til mindre forstuinger til utbruddssvikt, så gjør deg kjent med det grunnleggende. Ganglioncyster En vanlig myk vævsmasse som du kan se på hendene og håndleddene, er en ganglioncyst, også kjent ...

HIV Grunnleggende for legeassistenteksamen - dummies

HIV Grunnleggende for legeassistenteksamen - dummies

For legeassistenteksamen (PANCE), bør du være kjent med noen generelle ting som angår HIV, spesifikke infeksjoner relatert til HIV, og bivirkninger av visse medisiner. HIV står for humant immundefektvirus. Risikofaktorer for å skaffe hiv inkluderer høyrisiko seksuell atferd og narkotikamisbruk, spesielt intravenøs bruk med skitne nåler. Kommer i kontakt med ...

Mageområdet for legeassistenteksamen - dummies

Mageområdet for legeassistenteksamen - dummies

Etter å ha reist gjennom spiserøret, din neste destinasjon i forberedelsene til legeassistenteksamen (PANCE) er det livlige magesektoren. Inneholder cardia, fundus, antrum og pylorus, er dette området bare moden for patologi og fremtidige PANCE-spørsmål. Magen er et sted hvor mye av fordøyelsen finner sted. Hovedcellene ...