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