Добавить текст с текстом UITextField - PullRequest
0 голосов
/ 20 августа 2009

Я запускаю Objective-C / Cocoa в оболочке в Windows, а не в Mac OS X.

Я хочу добавить строку с существующей строкой в ​​текстовое поле, когда я нажимаю кнопку. Я создал кнопку в окне, но я не знаю, как добавить строку, когда я нажимаю эту кнопку.

Как добавить строку в текстовое поле при нажатии этой кнопки?

Ответы [ 4 ]

11 голосов
/ 20 августа 2009

Это довольно пустой вопрос и, вероятно, будет быстро удален. Однако, чтобы попытаться ответить на это каким-то образом:

Если вы хотите что-то отобразить при нажатии кнопки, вам понадобится кнопка UIB (уже добавлено, что вы сказали) и, скажем, UILabel. Вы можете найти UILabel в том же окне, в котором вы обнаружили кнопку. Добавьте его в представление, где-то чуть ниже кнопки.

Затем вы хотите найти файл .h, соответствующий файлу .xib (если вы настроите что-то по умолчанию в XCode, оно будет создано для вас). Давайте назовем его 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 которого мы только что редактировали.

Теперь нам нужно соединить кнопку и метку. Нажмите на кнопку и снова вызовите «инспектор соединений» из меню «Инструменты». Нажмите на кружок рядом с «подправить внутри» и перетащите его на «Владелец файла». Выберите метод «buttonClick», который появляется в окне для вас. Теперь выберите владельца файла. Нажмите на кружок рядом со словом «ярлык» и перетащите его на ярлык на экране вашего 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

Потратьте некоторое время на просмотр различных уроков и т. Д., И вы быстро наберете скорость.

2 голосов
/ 23 августа 2009

Вы не указали, используете ли вы UILabel (Cocoa Touch) или NSTextField (Какао). Для последнего получите поле stringValue, отправьте этому объекту сообщение stringByAppendingString: со строкой, которую вы хотите добавить, и передайте результат в метод setStringValue: поля.

1 голос
/ 11 октября 2010
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

Вывод будет таким:

Добро пожаловать, Добро пожаловать, Добро пожаловать ...

1 голос
/ 20 августа 2009

Краткий ответ: создайте метод IBAction в классе контроллера и установите IBAction в качестве цели вашей кнопки.

Длинный ответ: Получить книгу и узнать подробности о Какао. С какао сложно начать, но как только вы сделаете начальные инвестиции, вы сможете быстро создавать приложения. Я бы порекомендовал Программирование Какао для Mac OS X Аарона Хиллегаса. Он ориентирован на рабочий стол, а не на iPhone, но это не должно вас отталкивать.

Существует также множество отличных веб-ресурсов для изучения какао. Cocoa Dev Central и сайт разработчиков Apple - отличные места для начала.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...