我在Windows下運行的Objective-C /可可殼中,而不是在Mac OS X附加文本與文本的UITextField
我想一個字符串附加在文本字段中現有的字符串時,我點擊一個按鈕。我在窗口中創建了一個按鈕,但是當我單擊該按鈕時,我不知道如何追加一個字符串。
如何在單擊該按鈕時將字符串附加到文本字段?
我在Windows下運行的Objective-C /可可殼中,而不是在Mac OS X附加文本與文本的UITextField
我想一個字符串附加在文本字段中現有的字符串時,我點擊一個按鈕。我在窗口中創建了一個按鈕,但是當我單擊該按鈕時,我不知道如何追加一個字符串。
如何在單擊該按鈕時將字符串附加到文本字段?
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
輸出將是這樣的:
歡迎歡迎歡迎......
這是一個非常空的問題,可能會很快被刪除。然而,試圖以某種方式回答它:
如果你想顯示一些東西,當你點擊一個按鈕,那麼你需要一個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
花一些時間看各種教程等,你會很快趕上。
簡答題:在控制器類中創建IBAction
方法,並將IBAction
設置爲按鈕的目標。
長答案:獲取一本書並瞭解可可的細節。可可很難入門,但是一旦你做了最初的投資,你就可以快速創建應用程序。我會推薦Aaron Hillegass的Mac OS X可可編程。這是桌面導向的,而不是iPhone,但這不應該讓你失望。
也有很多偉大的網絡資源來學習可可。 Cocoa Dev Central和蘋果開發者網站是開始的好地方。
您沒有指定是否使用UILabel(Cocoa Touch)或NSTextField(Cocoa)。對於後者,獲取字段stringValue
,將該對象與要添加的字符串一起發送給stringByAppendingString:
消息,然後將結果傳遞給字段的setStringValue:
方法。
改變你的問題標題更合適一些。 – RaYell 2009-08-20 10:04:57
請不要要求人們通過郵件回覆您。如果沒有別的,這是完全粗魯的(「我不關心你的網站,只是給我答案」)。但它也違背了Stack Overflow的概念。 – balpha 2009-08-20 10:07:20
你能更具體嗎?當你點擊這個按鈕時,你想顯示什麼? – 2009-08-20 10:26:10