我正在使用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;
}
最佳答案
问题解决了... :)
问题是从firstView
到secondView
的连接。
如果要添加Controller,请不要使用addSubView
!
使用presentModalViewController
:)
如果您遇到与我一样的问题,希望对您有所帮助。
关于objective-c - UITextFieldDelegate SecondView,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8210083/