我试过这个:
在.h
档案中:
@interface TouchLabelViewController : UIViewController<UITextFieldDelegate>
@property (strong, nonatomic) IBOutlet UITextField *aTextField;
-(IBAction)hideKeyboard:(id)sender;
在.m
文件中:
-(IBAction)hideKeyboard:(id)sender{
[(UITextField*)sender resignFirstResponder];
}
还试过这个。
在.h
档案中:
- (void)viewDidLoad
{
[super viewDidLoad];
aTextField.delegate = self;
}
@property (strong, nonatomic) IBOutlet UITextField *aTextField;
-(BOOL) textFieldShouldReturn:(UITextField *)textField;
在.m
档案中:
-(BOOL) textFieldShouldReturn:(UITextField *)textField{
[aTextField resignFirstResponder];
return YES;
}
但是每当我触摸返回键时,它都不会隐藏键盘。
答案 0 :(得分:8)
将委托设置为文本字段时,可以利用这些(委托)方法。
你应该检查你的代表是否已将代表设置为文本字段
在.h
班级
YourViewController : UIViewController <UITextFieldDelegate>
现在你在哪里创建了TextField集委托,如下所示
myTextField.delegate = self;
进一步做与你一样的事情
-(BOOL) textFieldShouldReturn:(UITextField *)textField{
[textField resignFirstResponder];
return YES;
}
编辑:如果您将当前时间显示为UIModalPresentationFormSheet
演示模式可以在不需要时保持键盘可见。
默认实现会影响UIModalPresentationFormSheet可见性。这就是为什么需要覆盖它来隐藏键盘
- (BOOL)disablesAutomaticKeyboardDismissal
{
return NO;
}
答案 1 :(得分:2)
首先为TextField设置委托
aTextField.delegate = self;
-(BOOL) textFieldShouldReturn:(UITextField *)textField
{
[textField resignFirstResponder];
return YES;
}
答案 2 :(得分:1)
-(BOOL) textFieldShouldReturn:(UITextField *)textField{
[textField resignFirstResponder];
//[aTextField resignFirstResponder];
return YES;
}
答案 3 :(得分:1)
将您的UITextField作为插座并将其附加到您的XIB文件中,然后设置委托并在其中编写代码:
[texfieldName resignFirstResponder];
这样可行。
答案 4 :(得分:1)
只需在.m文件中实现<UITextFieldDelegate>
,如下所示
@interface xyzViewController () <UITextFieldDelegate>
xyzViewController
将是您的视图控制器的名称。使用此代码:
- (BOOL)textFieldShouldReturn:(UITextField *)theTextField {
[theTextField resignFirstResponder];
return YES;
}
答案 5 :(得分:0)
将代表交给您的UITextField
喜欢
- (void)viewDidLoad
{
yourTextField.delegate = self;//
}
并在Delegate方法中..
-(BOOL) textFieldShouldReturn:(UITextField *)textField{
[textField resignFirstResponder];
return YES;
}
答案 6 :(得分:0)
您在XIB中使用Delegate
中的UITextField
或以编程方式使用。{/ p>
-(IBAction)hideKeyboard:(id)sender
{
[your_textfield resignFirstResponder]; // your_textfield is an UITextField
}
答案 7 :(得分:0)
对于UITextField你可以这样做
在.h文件中
@interface ViewController : UIViewController<UITextFieldDelegate>
在.m文件中
- (void)viewDidLoad
{
textField.delegate = self;
}
-(BOOL)textFieldShouldReturn:(UITextField *)textField
{
[textField resignFirstResponder];
return YES;
}
对于UITextView你可以这样做
在.h文件中
@interface ViewController : UIViewController<UITextViewDelegate>
在.m文件中
- (void)viewDidLoad
{
textView.delegate = self;
}
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {
if([text isEqualToString:@"\n"]) {
[textView resignFirstResponder];
return NO;
}
return YES;
}