Ios 辞职FirstResponder未响应
我有一个名为“fieldPassword”的文本字段声明为IBOutletIos 辞职FirstResponder未响应,ios,uitextfield,Ios,Uitextfield,我有一个名为“fieldPassword”的文本字段声明为IBOutlet @property (strong, nonatomic) IBOutlet UITextField *fieldPassword; 我稍后合成了它,然后,为了让返回键关闭键盘,我有: - (BOOL)textFieldShouldReturn:(UITextField *)textField { fieldPassword.delegate = self; [fieldPassword resignFir
@property (strong, nonatomic) IBOutlet UITextField *fieldPassword;
我稍后合成了它,然后,为了让返回键关闭键盘,我有:
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
fieldPassword.delegate = self;
[fieldPassword resignFirstResponder];
[self.view endEditing:YES];
return YES;
}
问题是,当我运行模拟器并点击指定文本字段中的返回键时,什么都没有发生。以前,我还有fieldPassword.delegate=self代码>在-viewdiload
中,并导致模拟器崩溃,出现无法识别的选择器
错误
非常感谢您的帮助 如果不提前设置委托,将无法获得委托回调。在viewDidLoad
中尝试此操作:
self.fieldPassword.delegate = self;
您以前可能丢失了self
。应该是[self.fieldPassword resignFirstResponder]
而不是[fieldPassword resignFirstResponder]代码>
也self.fieldPassword.delegate=self代码>应该在viewdiload
或viewdilease
遵循以下事项
1.Go to xib or storyboard where you have set that your view.
2.Right Click the TextField.If you click that you can see the
Outlets->Delegate with Empty Circle
3.Just connect with File's Owner.It is Yellow Color.
Once you do this,the circle is not empty.It is filled now.
4.Then go to declaration or .h part
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController<UITextFieldDelegate>
5.Then in .m
-(BOOL)textFieldShouldReturn:(UITextField *)textField
{
[textField resignFirstResponder];
return YES;
}
1.转到已设置视图的xib或故事板。
2.右键单击文本字段。如果单击该字段,则可以看到
出口->带空圆圈的代理
3.只需与文件所有者联系即可。该文件为黄色。
一旦你这样做了,圆圈就不再是空的,它现在已经被填满了。
4.然后转到声明或.h部分
#进口
@界面ViewController:UIViewController
5.然后在下午
-(BOOL)textField应返回:(UITextField*)textField
{
[textField resignFirstResponder];
返回YES;
}
它不会在委托调用的方法中指定文本字段委托。这是永远无法到达的代码。请尝试在viewDidLoad(向我们显示您得到的实际崩溃)或ViewDidDisplay中分配它。1)不要同时调用resignFirstResponder
和endEditing:
。就一个或另一个。2) 在textField shouldReturn:
方法中,您应该在textField
参数上调用resignFirstResponder
。3) 为什么要在文本字段委托方法之一的fieldPassword
上设置delegate
属性?它应该已经设置好了,而且永远不要相信你的模拟器在键盘上。