UITextFieldDelegate SecondView

时间:2011-11-21 10:05:19

标签: objective-c ios uitextfield uitextfielddelegate

我正在使用iOS 5并尝试将TextField与UITextFieldDelegate一起使用,它的工作方式与我想要的完全相同(但在第一个视图中)。我不明白,为什么它不适用于下一个视图。

举个简单的例子,我创建了一个新项目(ViewController)。在那里我添加了一个按钮,连接到另一个视图(SecondViewController)。在SecondViewController中,我有一个TextField。有了这个textField,我想使用textFieldShouldReturn。但似乎这个方法没有被调用。我所知道的,我应该在ViewDidLoad中编写委托。我应该写myTextField.delegate = self; ?但我觉得有些不对劲。我使用调试,总是在那个位置,我遇到了问题。你能告诉我,问题是什么?我该如何解决呢;(

提前致谢.....

这是我的代码(它在第一个视图(ViewController)中工作。不幸的是这里没有(SecondViewController):


SecondViewController.h

@interface SecondViewController : UIViewController<UITextFieldDelegate>

@property (strong, nonatomic) IBOutlet UITextField *myTextField;

@end

SecondViewController.m

@implementation SecondViewController

@synthesize myTextField;


- (void)viewDidLoad{

    [super viewDidLoad];

    myTextField.delegate = self; // here i get the problem
}

-(BOOL) textFieldShouldReturn:(UITextField *)textField{   // this method is not being called


    [textField resignFirstResponder];
    NSLog(@"is called!");
    NSString *valueMyTextField = myTextField.text;
    NSLog(@"%@", valueMyTextField);

    return YES;
}

2 个答案:

答案 0 :(得分:2)

问题解决了...... :) 问题是从firstViewsecondView的连接。 如果要添加Controller,请不要使用addSubView! 使用presentModalViewController :) 希望它有所帮助,以防你遇到像我一样的问题。

答案 1 :(得分:0)

在nib文件中,请检查您是否已选中文本字段的自动启用返回键复选框。