2009-08-20 19 views
-3

I Objective-C/Cocoa in Shell in Windows leite, nicht unter Mac OS X.anhänge Text mit UITextField Text

ich eine Zeichenfolge mit einer vorhandenen Zeichenfolge in einem Textfeld angehängt werden soll, wenn ich auf eine Schaltfläche klicken . Ich habe eine Schaltfläche in einem Fenster erstellt, aber ich weiß nicht, wie ich eine Zeichenfolge anfügen soll, wenn ich auf diese Schaltfläche klicke.

Wie kann ich eine Zeichenfolge an ein Textfeld anhängen, wenn auf diese Schaltfläche geklickt wird?

+2

Ihre Frage Titel besser geeignet, um etwas zu ändern. – RaYell

+3

Bitte fragen Sie nicht nach Personen, die Ihnen per Post antworten. Wenn nichts anderes, das ist geradezu unhöflich ("Ich interessiere mich nicht für Ihre Website, senden Sie mir einfach Antworten"). Aber es widerspricht auch dem Konzept von Stack Overflow. – balpha

+0

Können Sie genauer sein? Was * genau * möchtest du anzeigen, wenn du auf diese Schaltfläche klickst? –

Antwort

1
import <UIKit/UiKit.h> 
@interface MyViewController : UIViewController { 
    UIButton *btnToAppend; 
    UITextField *textfield; 
} 

- (IBAction)buttonClick:(id)sender; 

@end 

import "MyViewController.h" 

@implementation MyViewController 

-(void)init{ 
    btnToAppend = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
    btbToAppend.frame = CGRectMake(10, 10, 100, 30); 
    [btnToAppend setText:@"Append Text" forState:UIControlStateNormal]; 
    [btnToAppend addTarget:self action:@select(buttonClick:) forControlEvents:UIControlEventTouchUpInside]; 
    [self.view addSubView:btnToAppend]; 
    textfield = [[UITextField alloc] initWithFrame:CGRectMake(10, 200, 300, 50)]; 
    textfield.borderStyle = UITextBorderStyleRoundedRect; 
    [self.view addSubView:textfield]; 
} 

-(IBAction)buttonClick:(id)sender { 
    NSString *string = [textfield.text stringByAppendingString:@"Welcome "]; 
    textfield.text = string; 
} 

- (void)dealloc { 
    [super dealloc]; 
} 

@end 

Ausgang wird wie:

Willkommen Willkommen Willkommen ...

11

Dies ist eine ziemlich leere Frage und wird wahrscheinlich schnell gelöscht werden. Wie auch immer, um es auf irgendeine Art zu beantworten:

Wenn Sie etwas anzeigen möchten, wenn Sie auf eine Schaltfläche klicken, benötigen Sie eine UIButton (bereits hinzugefügt haben Sie gesagt) und sagen wir ein UILabel. Sie können ein UILabel im selben Fenster finden, in dem Sie die Schaltfläche gefunden haben. Fügen Sie es der Ansicht direkt unterhalb der Schaltfläche hinzu.

Sie möchten dann die .h-Datei finden, die der .xib-Datei entspricht (wenn Sie in XCode standardmäßig eine Datei eingerichtet haben, wurde diese für Sie erstellt). Nennen wir es MyViewController.h, obwohl es in Ihrer App einen anderen Namen hat.

In dieser .h-Datei möchten Sie eine IBAction erstellen (damit Sie den Button-Klick im Code erkennen können) und ein IBOutlet (damit Sie den Text auf dem Etikett aktualisieren können).

Der Code sollte so etwas wie dies am Ende aussehen:

// 
// MyViewController.h 

#import <UIKit/UIKit.h> 

@interface MyViewController : UIViewController { 
    UILabel *label; 
} 
@property (nonatomic, retain) IBOutlet UILabel *label; 
- (IBAction)buttonClick; 

@end 

Dann gehen Sie zurück in die .xib Datei, in der Sie Ihre Schaltfläche erstellt. Wählen Sie "Dateibesitzer", öffnen Sie den "Identity Inspector" im Menü "Extras" und stellen Sie sicher, dass die Klasse auf den Namen der Klasse eingestellt ist, deren .h-Datei wir gerade bearbeitet haben.

Jetzt müssen wir den Knopf und das Etikett verbinden. Klicken Sie auf die Schaltfläche und rufen Sie den "Verbindungsinspektor" erneut aus dem Menü "Extras" auf. Klicken Sie in den Kreis neben "Aufräumen" und ziehen Sie ihn auf den "Besitzer der Datei". Wählen Sie die Methode "buttonClick", die in einem Fenster für Sie angezeigt wird. Wählen Sie nun den Eigentümer der Datei. Klicken Sie in den Kreis neben dem Wort "label" und ziehen Sie es auf das Etikett auf Ihrem iPhone-Bildschirm. Dies hat jetzt das Label und den Button mit dem zuvor geschriebenen Code verbunden.

Speichern Sie abschließend die .xib-Datei und öffnen Sie die Datei MyViewController.m (oder wie sie in Ihrer App heißt). Fügen Sie Folgendes hinzu:

Verbringen Sie einige Zeit mit Blick auf verschiedene Tutorials usw., und Sie werden schnell auf dem Laufenden sein.

1

Kurze Antwort: Erstellen Sie eine IBAction Methode in einer Controller-Klasse und setzen Sie IBAction als Ziel Ihrer Schaltfläche.

Lange Antwort: Holen Sie sich ein Buch und lernen Sie die Details von Cocoa. Cocoa ist schwierig zu beginnen, aber sobald Sie die anfängliche Investition getätigt haben, können Sie schnell Apps erstellen. Ich würde Cocoa Programming für Mac OS X von Aaron Hillegass empfehlen. Es ist Desktop-orientiert und nicht das iPhone, aber das sollte dich nicht abschrecken.

Es gibt auch viele gute Web-Ressource, um Kakao zu lernen. Cocoa Dev Central und die Apple-Entwickler-Website sind großartige Anlaufstellen.

2

Sie haben nicht angegeben, ob Sie UILabel (Cocoa Touch) oder NSTextField (Cocoa) verwenden.Für letzteres, holen Sie das Feld stringValue, senden Sie das Objekt eine stringByAppendingString: Nachricht mit der Zeichenfolge, die Sie anhängen möchten, und übergeben Sie das Ergebnis an die Methode setStringValue: des Feldes.

Verwandte Themen