У меня есть страница входа, на которой имя пользователя располагается над паролем, а затем кнопка входа в конце находится внизу.Когда я набираю имя пользователя, клавиатура покрывает пароль и логин.Как, черт возьми, закрыть клавиатуру, когда кто-то щелкает за пределами текстовых полей, или есть способ сгенерировать кнопку закрытия клавиатуры?Единственный способ, который я нашел, - это программно добавлять поля в пользовательский интерфейс.Есть ли способ сделать это с помощью редактора?
Вот мой заголовочный файл:
@interface Login : UIViewController{
RootViewController *rootViewController;
IBOutlet UITextField *usernameField;
IBOutlet UITextField *passwordField;
IBOutlet UIButton *loginButton;
}
@property (nonatomic, retain) UITextField *usernameField;
@property (nonatomic, retain) UITextField *passwordField;
@property (nonatomic, retain) UIButton *loginButton;
@property (nonatomic, retain) RootViewController *rootViewController;
- (IBAction) login: (id) sender;
@end
Единственный способ, которым я нашел это, был что-то вроде:
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
[textField resignFirstResponder];
return YES;
}
- (void)loadView
{
self.view = contentView;
[contentView release];
// Create a field with a Done return key
usernameField = [[[UITextField alloc] initWithFrame:CGRectMake(120.0f, 40.0f, 150.0f, 30.0f)] retain];
[usernameField setBorderStyle:UITextBorderStyleRoundedRect];
usernameField.placeholder = @"name";
usernameField.returnKeyType = UIReturnKeyDone;
usernameField.clearButtonMode = UITextFieldViewModeWhileEditing;
usernameField.delegate = self;
[contentView addSubview:usernameField];
[usernameField release];
}
Какие программы видят и добавляют поля. Есть ли способ обойти это?