Objective-C-udvikling til iOS med ældre og virksomhedsapplikationer · Lektion

Almindelige UI-kontroller og hændelser

Arbejd med standardkontroller i UIKit som knapper, labels og tekstfelter, og lær at håndtere brugerinteraktioner og hændelser.

Lektion 2 af 411 trin

Almindelige UI-kontroller og hændelser er en gratis Objective-C-udvikling til iOS med ældre og virksomhedsapplikationer-lektion på CoddyKit. Dette er lektion 2 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Objective-C-udvikling til iOS med ældre og virksomhedsapplikationer, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Objective-C-udvikling til iOS med ældre og virksomhedsapplikationer-kurset indeholder 4 lektioner i alt.

UI-kontroller: Din apps ansigt

UI-kontroller (brugergrænsefladekontroller) er de interaktive elementer, som brugerne ser og trykker på i en app. De er byggestenene i enhver iOS-apps visuelle oplevelse.

  • Knapper: Tryk på dem for at udføre handlinger.
  • Labels: Viser statisk tekst.
  • Tekstfelter: Modtager tekstinput fra brugeren.

Det er afgørende at beherske disse kontroller for at skabe intuitive og funktionelle apps, især når du vedligeholder ældre Objective-C-kodebaser.

Visning af tekst med UILabel

En UILabel bruges til at vise statisk, skrivebeskyttet tekst i din app. Tænk på den som et skilt eller en beskrivelse.

  • Angiv dens egenskab text for at vise indhold.
  • Tilpas dens udseende med egenskaber som textColor, font og textAlignment.
  • Labels kan bestå af én eller flere linjer.

Det er et af de mest grundlæggende UI-elementer, du kommer til at arbejde med.

UILabel i praksis

Lad os oprette en UILabel programmatisk og undersøge dens egenskaber. Husk, at du i en rigtig app skulle føje den til et view for at kunne se den visuelt!

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        // Create a label with a frame (position and size)
        UILabel *myLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 50, 280, 40)];
        myLabel.text = @"Hello CoddyKit!";
        myLabel.textColor = [UIColor darkTextColor];
        myLabel.font = [UIFont boldSystemFontOfSize:20.0];
        myLabel.textAlignment = NSTextAlignmentCenter;

        NSLog(@"Created UILabel:");
        NSLog(@"  Text: %@", myLabel.text);
        NSLog(@"  Font Size: %.1f", myLabel.font.pointSize);
        NSLog(@"  Alignment: %ld", (long)myLabel.textAlignment);
    }
    return 0;
}

Gør apps interaktive med UIButton

UIButton er uden tvivl den mest almindelige interaktive kontrol. Brugere trykker på knapper for at udløse handlinger.

  • Knapper kan vise tekst, et billede eller begge dele.
  • De har forskellige tilstande (Normal, Highlighted, Disabled, Selected).
  • Du knytter handlinger til knapper for at definere, hvad der sker, når der trykkes på dem.

Knapper er afgørende for brugerinteraktion i enhver iOS-app.

Reaktion på knaptryk

For at få en UIButton til at gøre noget bruger du mønstret Target-Action. Det forbinder en bestemt hændelse (f.eks. et tryk) med en metode i et objekt (målet).

  • addTarget:action:forControlEvents: er den metode, du kalder.
  • target er typisk din UIViewController eller et andet håndteringsobjekt.
  • action er en metodeselektor (f.eks. @selector(buttonTapped:)).
  • UIControlEventTouchUpInside er den almindelige hændelse for et tryk inden for knappens grænser.

Implementering af en trykhandling

Sådan konfigurerer du en knap og dens handling. Når du "kører" dette, kan du forestille dig, at der trykkes på knappen, og at meddelelsen vises i konsollen!

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>

@interface ButtonHandler : NSObject
- (void)buttonTapped:(UIButton *)sender;
@end

@implementation ButtonHandler
- (void)buttonTapped:(UIButton *)sender {
    NSLog(@"Button '%@' was tapped!", [sender titleForState:UIControlStateNormal]);
}
@end

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        ButtonHandler *handler = [[ButtonHandler alloc] init];

        UIButton *myButton = [UIButton buttonWithType:UIButtonTypeSystem];
        myButton.frame = CGRectMake(10, 100, 200, 50);
        [myButton setTitle:@"Press Me!" forState:UIControlStateNormal];
        
        // Set up the target-action. The handler object will receive the message.
        [myButton addTarget:handler 
                     action:@selector(buttonTapped:)
           forControlEvents:UIControlEventTouchUpInside];

        NSLog(@"Button created. If tapped, console would show action.");
        // In a real app, you'd add myButton to a view hierarchy.
        // For this console example, we simulate the action call.
        // [handler buttonTapped:myButton]; // Uncomment to simulate a tap immediately
    }
    return 0;
}

Modtag tekst med UITextField

En UITextField giver brugerne mulighed for at indtaste en enkelt tekstlinje. Den er perfekt til navne, adgangskoder eller korte beskeder.

  • Tastaturet vises automatisk, når der trykkes på tekstfeltet.
  • Du kan konfigurere pladsholderteksten, tastaturtypen (numerisk, e-mail osv.) og sikkerhedsindstillinger (til adgangskoder).
  • Brug egenskaben text til at hente det aktuelle input.

Håndtering af UITextField-hændelser

UITextField bruger også mønstret Target-Action til forskellige hændelser. Almindelige hændelser omfatter:

  • UIControlEventEditingChanged: Tekstindholdet er blevet ændret.
  • UIControlEventEditingDidEndOnExit: Brugeren trykkede på tasten "Return".
  • UIControlEventEditingDidBegin: Brugeren begyndte at redigere tekstfeltet.

Du kan også tildele et delegate til et tekstfelt for at opnå mere avanceret kontrol, f.eks. validering af input eller tilpasset tastaturadfærd.

Overvågning af tekstinput

Dette eksempel viser, hvordan du konfigurerer et tekstfelt og reagerer, når dets indhold ændres. Konsollen logger teksten, mens den bliver "skrevet".

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>

@interface TextFieldHandler : NSObject
- (void)textFieldDidChange:(UITextField *)sender;
@end

@implementation TextFieldHandler
- (void)textFieldDidChange:(UITextField *)sender {
    NSLog(@"Text field content changed: %@", sender.text);
}
@end

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        TextFieldHandler *handler = [[TextFieldHandler alloc] init];

        UITextField *myTextField = [[UITextField alloc] initWithFrame:CGRectMake(10, 160, 280, 40)];
        myTextField.placeholder = @"Type here...";
        myTextField.borderStyle = UITextBorderStyleRoundedRect;
        
        // Attach an action for when the text changes
        [myTextField addTarget:handler
                        action:@selector(textFieldDidChange:)
              forControlEvents:UIControlEventEditingChanged];

        NSLog(@"Text field created. Simulating input...");
        // Simulate some input changes
        myTextField.text = @"H";
        [handler textFieldDidChange:myTextField];
        myTextField.text = @"He";
        [handler textFieldDidChange:myTextField];
        myTextField.text = @"Hello";
        [handler textFieldDidChange:myTextField];
    }
    return 0;
}

Identificer UI-kontrollen

Hvilken UIKit-kontrol bruges primært til at vise statisk, ikke-redigerbar tekst, f.eks. en titel eller en beskrivende meddelelse?

Opsummering: Almindelige kontroller og hændelser

I denne lektion undersøgte vi grundlæggende UIKit-kontroller og så på, hvordan du gør dem interaktive:

  • UILabel: Viser statisk, skrivebeskyttet tekst.
  • UIButton: Udløser handlinger ved tryk ved hjælp af mønstret Target-Action.
  • UITextField: Modtager tekstinput på én linje og bruger også Target-Action til ændringer.

Disse kontroller er grundlaget for at opbygge brugergrænseflader i Objective-C-iOS-apps. Det er afgørende at forstå deres egenskaber og håndtering af hændelser, både til nyudvikling og vedligeholdelse af ældre kode.

Gratis at komme i gang

Lær Objective-C med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
12
Lektioner
48

Ofte stillede spørgsmål

Er lektionen “Almindelige UI-kontroller og hændelser” gratis?

Ja — hele teksten til “Almindelige UI-kontroller og hændelser” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Objective-C-udvikling til iOS med ældre og virksomhedsapplikationer-kurset, skal du opgradere til CoddyKit PRO. Objective-C-udvikling til iOS med ældre og virksomhedsapplikationer-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Almindelige UI-kontroller og hændelser”?

Arbejd med standardkontroller i UIKit som knapper, labels og tekstfelter, og lær at håndtere brugerinteraktioner og hændelser. Du øver dig i Objective-C-udvikling til iOS med ældre og virksomhedsapplikationer med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Objective-C-udvikling til iOS med ældre og virksomhedsapplikationer?

Der kræves ingen tidligere erfaring. Objective-C-udvikling til iOS med ældre og virksomhedsapplikationer på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 2 af 4.

Hvor lang tid tager lektionen “Almindelige UI-kontroller og hændelser”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Objective-C-udvikling til iOS med ældre og virksomhedsapplikationer-lektion?

Ja. Alle Objective-C-udvikling til iOS med ældre og virksomhedsapplikationer-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. UIView og UIViewController
  2. Almindelige UI-kontroller og hændelser
  3. Tabelvisninger og samlingsvisninger
  4. Auto Layout med NSLayoutConstraint
← Tilbage til Objective-C-udvikling til iOS med ældre og virksomhedsapplikationer