Приложение для iPhone xcode, пытающееся скрыть ввод текста нажатием на фон? - PullRequest
1 голос
/ 26 июня 2011

Я следую примеру в Beginning Iphone Development 4 для базового взаимодействия с пользователем.

Я использую xcode 4.02 с sdk 4.3

У меня есть базовый viewcontroller.xib с двумя текстовыми полямиодин для числовых значений, а другой для текста.Как только я закончу редактирование любого текстового поля, я хочу коснуться фона и исчезнуть с клавиатуры.

В книгах говорится, что нужно изменить объект контейнера UIView на UIControl, а затем добавить действие в событие UIControl.Нажмите Вниз.Затем создайте метод для отставки первого респондента каждого из текстовых полей и свяжите это с событием приземления.Я сделал этоВот мой код, я что-то пропустил?На данный момент ничего не происходит.

enter image description here Спасибо

@interface ControlFunViewController : UIViewController {
    UITextField *nameField;
    UITextField *numberField;
}

@property (nonatomic, retain) IBOutlet UITextField *nameField;
@property (nonatomic, retain) IBOutlet UITextField *numberField;

- (IBAction)textFieldDoneEditing:(id)sender;
- (IBAction)backgroundTap:(id)sender;

Реализация:

#import "ControlFunViewController.h"

@implementation ControlFunViewController

@synthesize nameField;
@synthesize numberField;

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

- (IBAction)textFieldDoneEditing:(id)sender {
    [sender resignFirstResponder];
}
- (IBAction)backgroundTap:(id)sender {
    [nameField resignFirstResponder];
    [numberField resignFirstResponder];
}

Ответы [ 3 ]

2 голосов
/ 26 июня 2011

Эта ссылка поможет вам. Он обращается к сокрытию клавиатуры несколькими различными способами. http://www.mobisoftinfotech.com/blog/iphone/iphone-uitextfield-tutorial-handling-keyboard-interactions/

У меня действительно была та же самая проблема в той же книге ранее в этом году. Я понял, что не читаю внимательно и пропустил только одну маленькую инструкцию, поэтому перечитал ее внимательно, и она сработала.

1 голос
/ 11 марта 2012

Измените UIView на UIControl на вкладке идентификации инспектора -> раздел идентификации класса.добавьте это

-(IBACTION)tabBackground: (id) sender; 

в ваш файл .h

добавьте это в свой файл .m

-(IBACTION) tabBackgroup: (id)sender {
[nameField resignFirstRespnder];
[numberField resignFirstResponder];
}

подключите ваш tabBackgroupnd из инспектора, раздел получения действия кUIVIEW (который сейчас является UIControl) и ваш путь.дайте мне знать, если у вас возникнут проблемы

0 голосов
/ 26 июня 2011

Нашел ответ, я не связывал выходы для текстовых полей, поэтому контроллер не знал, что они существуют.Ошибка школьника.

http://www.iphonedevbook.com/forum/chapter-4-more-user-interface-fun/4145-backgroundtap.html

...