我正在使用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;
}

最佳答案

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

关于objective-c - UITextFieldDelegate SecondView,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8210083/

10-10 20:12