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.
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
textför att visa innehåll. - Anpassa utseendet med egenskaper som
textColor,fontochtextAlignment. - 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
UIViewControllereller 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
textfö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.
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
- UIView och UIViewController
- Vanliga UI-kontroller och händelser
- Tabellvyer och samlingsvyer
- Auto Layout med NSLayoutConstraint