iphone应用程序文本字段没有';我不能正常工作

iphone应用程序文本字段没有';我不能正常工作,iphone,Iphone,我目前正在开发一个有3个文本字段的Iphone应用程序。如果我将前两个文本字段的委托连接到类,然后运行模拟器并尝试单击它们,则不会发生任何事情,它们不允许我编辑它们,键盘也不会弹出。如果我没有连接他们的代表,则会显示键盘,但当我单击键盘上的“完成”按钮时,不会调用textFieldShouldReturn。第三个文本字段在单击时显示UIPickerView,并按预期显示 LoginViewController.h #import <UIKit/UIKit.h> @interface

我目前正在开发一个有3个文本字段的Iphone应用程序。如果我将前两个文本字段的委托连接到类,然后运行模拟器并尝试单击它们,则不会发生任何事情,它们不允许我编辑它们,键盘也不会弹出。如果我没有连接他们的代表,则会显示键盘,但当我单击键盘上的“完成”按钮时,不会调用textFieldShouldReturn。第三个文本字段在单击时显示UIPickerView,并按预期显示

LoginViewController.h

#import <UIKit/UIKit.h>

@interface LoginViewController : UIViewController     <UITextFieldDelegate,UIPickerViewDelegate,UIPickerViewDataSource>
{
IBOutlet UITextField *usernameField;
IBOutlet UITextField *passwordField;
IBOutlet UITextField *conferenceField;
IBOutlet UIButton *loginButton;
//IBOutlet UIPickerView *picker;
ConnectHandler *cHandle;    
NSMutableArray *conferences;
}

@property (nonatomic, retain) UITextField *usernameField;
@property (nonatomic, retain) UITextField *passwordField;
@property (nonatomic, retain) UITextField *conferenceField;
@property (nonatomic, retain) UIButton *loginButton;

- (IBAction) login: (id) sender;

@end

您在委托方法中有
[textField resignFirstResponder]
-(void)textField didbegeinediting:
,这会使键盘过早消失。

这是您的问题:

- (void)textFieldDidBeginEditing:(UITextField *)textField
{
    [textField resignFirstResponder];
    //[pickerView setHidden:NO];
}

连接代理后,当用户触摸文本字段并立即强制文本字段退出第一响应者状态(即失去键盘)时,代理将收到
-textFieldDidBeginEditing:
消息。保持代理连接,删除退出FirstResponder的呼叫,它就会工作。

将此添加到viewDidLoad:

usernameField.delegate = self;
passwordField.delegate = self;
conferenceField.delegate = self;

您没有为文本字段设置代理。另外,如其他答案中所述,从您的
文本字段didbeginediting
中删除
辞职FirstResponder
代码。

当然!很高兴帮助(:投票表决你的问题,以便真正解释问题。如果你觉得正确,请选择我的答案。:再次,很高兴帮助。设置代表是很多人忘记的事情。
usernameField.delegate = self;
passwordField.delegate = self;
conferenceField.delegate = self;