textFieldShouldReturn不再有效

时间:2011-09-22 18:16:55

标签: ios ipad uitextfield textfield

在iPad上,textFieldShouldReturn不再有效。我让它工作到五分钟前,突然间这个方法不再被调用了...任何想法?下面是代码,唯一改变的是UITextView的通知......谢谢!

- (BOOL)textFieldShouldReturn:(UITextField *)tf
{
NSString* newName = textField.text;
textLabel.text = textField.text;
NSLog(@"Called!");

newName = [newName stringByAppendingPathExtension:@"txt"];
NSString* newPath = [[currentFilePath stringByDeletingLastPathComponent] stringByAppendingPathComponent:newName]; 
NSLog(@"%@",newPath);
[[NSFileManager defaultManager] moveItemAtPath:currentFilePath toPath:newPath error:nil];
[[NSNotificationCenter defaultCenter] postNotificationName:@"DataSaved" object:nil];
[currentFilePath retain];
currentFilePath = newPath;
NSString *documentsDirectory = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
[currentFilePath retain];
// Write out the contents of home directory to console

NSLog(@"Documents directory: %@", [[NSFileManager defaultManager] contentsOfDirectoryAtPath:documentsDirectory error:nil]);

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.5];
textLabel.alpha = 1.0;
textField.alpha = 0.0;
[UIView commitAnimations];
[tf resignFirstResponder];
return YES;

}

2 个答案:

答案 0 :(得分:5)

最佳可能性 - 您可能不小心删除了文本字段的委托。

答案 1 :(得分:3)

检查IOS 6中的(BOOL)textFieldShouldReturn:(UITextField *)textField方法。您必须在XIB中设置textField委托并记下以下代码:

(BOOL)textFieldShouldReturn:(UITextField *)textField{
  [textField resignFirstResponder];
  return YES;
}