У меня настоящая головная боль с его сегодняшним днем, и я действительно могу помочь с советом.xcode textFieldDidFinishEditing не работает
Проблема
Все в коде работает хорошо, однако я имею огромную проблему получить textFieldDidFinishEditing
правильно уволить его не вызывается для того, что когда-либо причине (проб, потому что я не понимаю) У меня есть textFieldDidBeginEditing
, чтобы нормально работать, и я применяю ту же логику, но она просто не работает.
Несколько вещей, которые я сделал, поля delegate
для полей установлены правильно, это снова подтверждается удалением KB, текстовые поля становятся серыми, а вывод nslog - правильным (за исключением завершения редактирования).
Что нужно сделать, когда пользователь вводит значение, а затем выходит из текстового поля 1 или 2, он заполняет другое поле значением, т.е. text1 = 2, когда пользователь выходит из поля textFieldDidFinishEditing
, а затем запускает код для установки текстового поля от 2 до = 2, но он не работает даже при вызове. Я знаю, что могу установить это из IB с завершенным редактированием отправленных событий, однако идентификатор скорее не будет использовать это.
Я пробовал использовать textFieldDidEndEditing
- это действительно работает, но он освобождает ответчика, прежде чем я смогу передать любые значения и т. Д., Я прочитал раздел разработчика Apple для класса UITextField и считаю, что делаю это правильно (очевидно, не так, как это не работает), поэтому я в растерянности, любая помощь будет apreciated
Кодекса
Ниже копия моего кода
//
// ViewController.m
// didendediting
//
// Created by Developer on 16/06/2013.
// Copyright (c) 2013 Mr H. All rights reserved.
//
#import "ViewController.h"
@interface ViewController()
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
//Checking for edit state on each of the text fields this works fine as does what is expected
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
if (textField.tag == 0) //text 1 field
{
self.text1.backgroundColor = [UIColor lightGrayColor];
self.text2.backgroundColor = [UIColor whiteColor];
NSLog(@" Text 1 Became First Responder");
//self.blockWidth.text=self.blockLength.text;
}
else if (textField.tag == 1) //text 2 field
{
self.text2.backgroundColor = [UIColor lightGrayColor];
self.text1.backgroundColor = [UIColor whiteColor];
NSLog(@" Text 2 Became First Responder");
}
}
//use this to get rid of the KB when the user clicks anywhere on the screen - again this
//works fins as it removes the kb from screen
- (IBAction)hideKeyboard:(id)sender
{
[self.text1 resignFirstResponder];
[self.text2 resignFirstResponder];
NSLog(@"RESPONDER Released");
}
//This is the area that is not working
- (void)textFieldDidFinishEditing:(UITextField *)textField
{
if (textField.tag == 0) //text 1 field
{
NSLog(@"text 1 finished editing");
self.text1.text=self.text2.text;
}
else if (textField.tag == 1) //text 2 field
{
NSLog(@"text 2 finished editing");
self.text2.text=self.text1.text;
}
else
{
NSLog(@"something gone wrong");
}
}
@end
Там нет такого понятия, как textFieldDidFinishEditing http://developer.apple.com/library/ios/#documentation/uikit/reference/UITextFieldDelegate_Protocol /UITextFieldDelegate/UITextFieldDelegate.html –
verbumdei - это правильно. Вы можете использовать метод textFieldDidEndEditing: delegate – Marco
чертовски черт возьми, я понятия не имею, теперь я получил это, поэтому я попытаюсь использовать редактирование законченного конца, нечетное, то что xcode правильно компилирует, хотя я использую то, чего не существует? –