2009-08-20 83 views
-3

我在Windows下運行的Objective-C /可可殼中,而不是在Mac OS X附加文本與文本的UITextField

我想一個字符串附加在文本字段中現有的字符串時,我點擊一個按鈕。我在窗口中創建了一個按鈕,但是當我單擊該按鈕時,我不知道如何追加一個字符串。

如何在單擊該按鈕時將字符串附加到文本字段?

+2

改變你的問題標題更合適一些。 – RaYell 2009-08-20 10:04:57

+3

請不要要求人們通過郵件回覆您。如果沒有別的,這是完全粗魯的(「我不關心你的網站,只是給我答案」)。但它也違背了Stack Overflow的概念。 – balpha 2009-08-20 10:07:20

+0

你能更具體嗎?當你點擊這個按鈕時,你想顯示什麼? – 2009-08-20 10:26:10

回答

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 

輸出將是這樣的:

歡迎歡迎歡迎......

11

這是一個非常空的問題,可能會很快被刪除。然而,試圖以某種方式回答它:

如果你想顯示一些東西,當你點擊一個按鈕,那麼你需要一個UIButton(已經添加了你說的),並且讓我們說一個UILabel。你可以在你發現按鈕的同一個窗口中找到UILabel。將它添加到視圖中,在按鈕正下方的某個位置。

你再想要找到對應的.xib文件(如果你在XCode的一些設置默認情況下,它會一直爲你創建).h文件。讓我們稱之爲MyViewController.h,雖然它會在你的應用中有不同的名字。

在這種.h文件中,您要創建一個IBAction爲(這樣就可以檢測代碼按鈕點擊)和一個IBOutlet(這樣你就可以更新標籤上的文字)。

的代碼應該結束了看起來像這樣:

// 
// MyViewController.h 

#import <UIKit/UIKit.h> 

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

@end 

然後,回去的地方,您創建按鈕的.xib文件。選擇「文件所有者」,打開「工具」菜單下的「身份檢查器」,並確保將類設置爲與我們剛剛編輯的.h文件類相同的名稱。

現在我們需要連接按鈕和標籤。點擊按鈕,再次從「工具」菜單調出「連接檢查器」。點擊「touch up inside」旁邊的圓圈並將其拖到「文件所有者」。選擇爲您彈出窗口中的「buttonClick」方法。現在選擇文件的所有者。點擊單詞「label」旁邊的圓圈並將其拖動到iPhone屏幕上的標籤。現在已經將標籤和按鈕連接到您之前編寫的代碼。

最後,保存的.xib文件,開闢MyViewController.m文件(或任何它被稱爲在你的應用程序)。添加以下內容:

// 
// MyViewController.m 

#import "MyViewController.h" // Swap this name for the name of your .h file 

@implementation MyViewController 

@synthesize label; 

-(IBAction)buttonClick { 
    label.text = @"Hello World!" 
} 

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

@end 

花一些時間看各種教程等,你會很快趕上。

1

簡答題:在控制器類中創建IBAction方法,並將IBAction設置爲按鈕的目標。

長答案:獲取一本書並瞭解可可的細節。可可很難入門,但是一旦你做了最初的投資,你就可以快速創建應用程序。我會推薦Aaron Hillegass的Mac OS X可可編程。這是桌面導向的,而不是iPhone,但這不應該讓你失望。

也有很多偉大的網絡資源來學習可可。 Cocoa Dev Central和蘋果開發者網站是開始的好地方。

2

您沒有指定是否使用UILabel(Cocoa Touch)或NSTextField(Cocoa)。對於後者,獲取字段stringValue,將該對象與要添加的字符串一起發送給stringByAppendingString:消息,然後將結果傳遞給字段的setStringValue:方法。