Objective-C för iOS-utveckling av äldre appar och företagsappar · Lektion

Vanliga UI-kontroller och händelser

Arbeta med vanliga UIKit-kontroller som knappar, etiketter och textfält samt lär dig hantera användarinteraktioner och händelser.

Lektion 2 av 411 steg

Vanliga UI-kontroller och händelser är en gratis lektion i Objective-C för iOS-utveckling av äldre appar och företagsappar på CoddyKit. Detta är lektion 2 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Objective-C för iOS-utveckling av äldre appar och företagsappar, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Objective-C för iOS-utveckling av äldre appar och företagsappar innehåller totalt 4 lektioner.

Gränssnittskontroller: appens ansikte

Gränssnittskontroller (UI-kontroller) är de interaktiva element som användare ser och trycker på i en app. De utgör byggstenarna i det visuella användargränssnittet för alla iOS-appar.

  • Knappar: Tryck för att utföra åtgärder.
  • Etiketter: Visar statisk text.
  • Textfält: Tar emot text från användaren.

Det är mycket viktigt att behärska dessa kontroller för att skapa intuitiva och funktionella appar, särskilt vid underhåll av äldre Objective-C-kodbaser.

Visa text med UILabel

En UILabel används för att visa statisk, skrivskyddad text i appen. Se den som en skylt eller beskrivning.

  • Ange egenskapen text för att visa innehåll.
  • Anpassa utseendet med egenskaper som textColor, font och textAlignment.
  • Etiketter kan bestå av en eller flera rader.

Det är ett av de mest grundläggande gränssnittselementen Ni kommer att använda.

UILabel i praktiken

Nu skapar vi en UILabel programmatiskt och granskar dess egenskaper. Kom ihåg att Ni i en riktig app skulle lägga till den i en vy för att se den visuellt!

#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 appar interaktiva med UIButton

UIButton är utan tvekan den vanligaste interaktiva kontrollen. Användare trycker på knappar för att utlösa åtgärder.

  • Knappar kan visa text, en bild eller båda.
  • De har olika tillstånd (Normal, Highlighted, Disabled, Selected).
  • Ni kopplar åtgärder till knappar för att definiera vad som händer när användaren trycker på dem.

Knappar är centrala för användarinteraktion i alla iOS-appar.

Reagera på knapptryckningar

För att få en UIButton att utföra något använder Ni mönstret Target-Action. Det kopplar en specifik händelse (till exempel ett tryck) till en metod i ett objekt (målet).

  • addTarget:action:forControlEvents: är metoden som Ni anropar.
  • target är vanligtvis Er UIViewController eller ett annat hanterarobjekt.
  • action är en metodväljare (till exempel @selector(buttonTapped:)).
  • UIControlEventTouchUpInside är den vanliga händelsen för ett tryck innanför knappens gränser.

Implementera en tryckåtgärd

Så här konfigurerar Ni en knapp och dess åtgärd. När Ni "kör" detta kan Ni föreställa Er att knappen trycks på och att meddelandet visas i konsolen!

#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;
}

Ta emot text med UITextField

En UITextField låter användare ange enstaka textrader. Den passar perfekt för namn, lösenord eller korta meddelanden.

  • Tangentbordet visas automatiskt när användaren trycker på fältet.
  • Ni kan konfigurera platshållartext, tangentbordstyp (numerisk, e-post och så vidare) samt säkerhetsalternativ (för lösenord).
  • Använd egenskapen text för att hämta den aktuella inmatningen.

Hantera UITextField-händelser

UITextField använder också Target-Action-mönstret för olika händelser. Vanliga händelser är:

  • UIControlEventEditingChanged: Textinnehållet har ändrats.
  • UIControlEventEditingDidEndOnExit: Användaren tryckte på tangenten "Return".
  • UIControlEventEditingDidBegin: Användaren började redigera textfältet.

Ni kan också tilldela ett delegate till ett textfält för mer avancerad styrning, till exempel validering av inmatning eller anpassat tangentbordsbeteende.

Observera textinmatning

Det här exemplet visar hur Ni konfigurerar ett textfält och reagerar när dess innehåll ändras. Konsolen loggar texten medan den "skrivs".

#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;
}

Identifiera gränssnittskontrollen

Vilken UIKit-kontroll används främst för att visa statisk, icke-redigerbar text, till exempel en rubrik eller ett beskrivande meddelande?

Sammanfattning: vanliga kontroller och händelser

I den här lektionen utforskade vi grundläggande UIKit-kontroller och hur de görs interaktiva:

  • UILabel: Visar statisk, skrivskyddad text.
  • UIButton: Utlöser åtgärder genom tryck med hjälp av Target-Action-mönstret.
  • UITextField: Tar emot text på en rad och använder också Target-Action för ändringar.

Dessa kontroller utgör grunden för att bygga användargränssnitt i Objective-C-iOS-appar. Det är viktigt att förstå deras egenskaper och händelsehantering, både vid nyutveckling och underhåll av äldre kod.

Gratis att börja

Lär dig Objective-C med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
12
Lektioner
48

Vanliga frågor

Är lektionen ”Vanliga UI-kontroller och händelser” gratis?

Ja – hela texten till ”Vanliga UI-kontroller och händelser” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Objective-C för iOS-utveckling av äldre appar och företagsappar, kan Ni uppgradera till CoddyKit PRO. Kursen i Objective-C för iOS-utveckling av äldre appar och företagsappar innehåller totalt 4 lektioner.

Vad lär jag mig i ”Vanliga UI-kontroller och händelser”?

Arbeta med vanliga UIKit-kontroller som knappar, etiketter och textfält samt lär dig hantera användarinteraktioner och händelser. Ni övar på Objective-C för iOS-utveckling av äldre appar och företagsappar med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Objective-C för iOS-utveckling av äldre appar och företagsappar?

Du behöver inga förkunskaper. Utbildningen i Objective-C för iOS-utveckling av äldre appar och företagsappar på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.

Hur lång tid tar lektionen ”Vanliga UI-kontroller och händelser”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Objective-C för iOS-utveckling av äldre appar och företagsappar-lektionen?

Ja. Varje Objective-C för iOS-utveckling av äldre appar och företagsappar-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. UIView och UIViewController
  2. Vanliga UI-kontroller och händelser
  3. Tabellvyer och samlingsvyer
  4. Auto Layout med NSLayoutConstraint
← Tillbaka till Objective-C för iOS-utveckling av äldre appar och företagsappar