标签: resignfirstresponder

UIKeyboard下一个按钮不会转到下一个UITextField

我一直试图弄清楚如何让UIKeyboard上的下一个按钮加载下一个UITextField.我有两个单元格,名称和电子邮件我想使用下一步按钮从名称转到电子邮件.

到目前为止我已经补充说

//.h
 <UITextFieldDelegate>
Run Code Online (Sandbox Code Playgroud)

然后我这样做是为了尝试将用户从Name传递给Email

//.m
- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.

    customerNameTextField.delegate = self;
    customerEmailTextField.delegate = self;
//...

- (BOOL)textFieldShouldReturn:(UITextField *)textField {
    if (![customerNameTextField.text isEqualToString:@""]) {
        [customerNameTextField resignFirstResponder];
        [customerEmailTextField becomeFirstResponder];
    } else if (textField == customerEmailTextField) {
        // here you can define what happens
        // when user presses return on the email field
        // send request
    }
    return YES;
}
Run Code Online (Sandbox Code Playgroud)

它输入第一个if语句,然后它使用resignFirstResponder从屏幕上删除键盘但是它不使用becomeFirstResponder加载新键盘..任何帮助解决这个问题都会非常适用.

uikeyboard becomefirstresponder ios resignfirstresponder

4
推荐指数
1
解决办法
5843
查看次数

移动到另一个视图控制器时,UISearchBar不会在resignFirstResponder上隐藏键盘

我有一个行为正常的UISearchBar - 如果我点击"搜索"或"取消",键盘会消失.

但是,当我在导航堆栈上按下新的视图控制器时,如果键盘打开,它将不会关闭.它保留在旧视图控制器中,如果我导航回它,键盘仍然显示.

我很难过,因为我的searchBarShouldEndEditing方法是按预期调用的,我做[activeSearchBar resignFirstResponder].这适用于"搜索"或"取消",但不适用于视图消失时触发的情况.

我的代表代码:

#pragma mark Search bar delegate methods__________________________

- (BOOL)searchBarShouldBeginEditing:(UISearchBar *)activeSearchBar
{
    NSLog(@"searchBarShouldBeginEditing");
    [activeSearchBar setShowsCancelButton:TRUE animated:YES];

    if (!showSearchType)
        return TRUE;

    if([UIView respondsToSelector:@selector(animateWithDuration:animations:)]) {
        // iOS 4.0 and later
        [UIView animateWithDuration:0.3 animations:^ {
            searchTypeView.frame = CGRectMake(0, 44, 320, 69);
            searchTypeView.bounds = CGRectMake(0, 0, 320, 69);
            grayBg.alpha = 0.6;
        }];
    } else {
        // Before iOS 4.0
        searchTypeView.frame = CGRectMake(0, 44, 320, 69);
        searchTypeView.bounds = CGRectMake(0, 0, 320, 69);
        grayBg.alpha = 0.6;
    }

    self.frame = CGRectMake(0, 0, …
Run Code Online (Sandbox Code Playgroud)

iphone uisearchbar ios resignfirstresponder

3
推荐指数
1
解决办法
8826
查看次数

在不使用Return键的情况下关闭UITextView的键盘

我正在使用UITextView并希望保持Return键的正常使用,即插入新行.但是当我不能使用Return键时,如何解除键盘?

iphone textview resignfirstresponder

3
推荐指数
1
解决办法
7090
查看次数

即使代码已运行,resignFirstResponder 也不会关闭键盘

这行代码在我的电子邮件文本字段编辑DidEnd 时运行。NSLog 运行,所以我知道该函数已运行,但键盘仍然没有消失。我已将文本框连接为委托。我已经确保故事板中的连接存在。依然不会改变。帮助。谢谢。

- (IBAction)emailDone2:(id)sender
{
    [_email resignFirstResponder];
    NSLog(@"emailDone2");
}
Run Code Online (Sandbox Code Playgroud)

编辑* *我按照指示更改了代码,但这仍然没有任何作用。什么也没有变。

- (IBAction)emailDone2:(id)sender
{
    [self.view endEditing:TRUE];
}
Run Code Online (Sandbox Code Playgroud)

resignfirstresponder ios7

3
推荐指数
1
解决办法
3425
查看次数

在UISearchBar中按"x"时关闭键盘

如果我将resign代码放在​​我的if条件下键盘不会退出,如果我评论if条件我的键盘辞职.

- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText
{
    if (searchText.length == 0) {
        [searchBar resignFirstResponder];
    }
}
Run Code Online (Sandbox Code Playgroud)

我想在用户按下"x"按钮时退出键盘,这时UISearchBar文本为空.有没有办法做到这一点?

uisearchbar uikeyboard ios resignfirstresponder

3
推荐指数
2
解决办法
4132
查看次数

如何从视图控制器resignFirstResponder

如何从uiviewcontroller对象resignFirstResponder处于活动状态.

我有五个文本域一,二,三,四,五.

   - (void)removeKeyBoard{
     [one resignFirstResponder];
     [two resignFirstResponder];
     [three resignFirstResponder];
     [four resignFirstResponder];
     [five resignFirstResponder];
    }
Run Code Online (Sandbox Code Playgroud)

上面的代码完成了我的工作,但每个对象引用都指定了resignFirstResponder.

有没有办法,处理resignFirstResponser哪个字段是活动的,UIViewController自动重新签名该对象.

@All先谢谢.

iphone objective-c resignfirstresponder ios8

3
推荐指数
1
解决办法
1531
查看次数

键盘没有响应resignFirstResponder

当选择textField时,我想显示一个弹出窗口,而不是显示键盘(我的代码位于底部).如果键盘没有显示,那么一切都很好.但是,如果键盘显示然后选择了文本字段,键盘就不会被解雇,某个地方的第一个响应者必须迷路但我不知道在哪里.有人有解决方案吗?

我的文字字段:

    self.startDateTextField = [[UITextField alloc] initWithFrame:CGRectMake(79, 148, 138, 27)];
[self.startDateTextField setBorderStyle:UITextBorderStyleRoundedRect];
[self.startDateTextField setDelegate:delegate];
[self.startDateTextField addTarget:delegate action:@selector(editStartDate:) forControlEvents:UIControlEventEditingDidBegin];
[popoverWrapper addSubview:self.startDateTextField];
Run Code Online (Sandbox Code Playgroud)

editStartDate:我有:

-(void)editStartDate:(UITextField *)textField {

[textField resignFirstResponder];

DatePickerVC *datePickerVC = [[DatePickerVC alloc] init];
datePickerVC.delegate = self;

self.popoverController = [[UIPopoverController alloc] initWithContentViewController:datePickerVC];
[self.popoverController setDelegate:self];

[self.popoverController presentPopoverFromRect:CGRectMake(0, 0, 5, 5) inView:textField permittedArrowDirections:UIPopoverArrowDirectionRight animated:YES];
}
Run Code Online (Sandbox Code Playgroud)

uitextfield ios resignfirstresponder

2
推荐指数
1
解决办法
6454
查看次数

按返回键我无法隐藏键盘

我试过这个:

.h档案中:

    @interface TouchLabelViewController : UIViewController<UITextFieldDelegate>
@property (strong, nonatomic) IBOutlet UITextField *aTextField;        
-(IBAction)hideKeyboard:(id)sender;
Run Code Online (Sandbox Code Playgroud)

.m文件中:

-(IBAction)hideKeyboard:(id)sender{
    [(UITextField*)sender resignFirstResponder];
}
Run Code Online (Sandbox Code Playgroud)

并试过这个.

.h档案中:

- (void)viewDidLoad
{
    [super viewDidLoad];
    aTextField.delegate = self;
}
@property (strong, nonatomic) IBOutlet UITextField *aTextField;
-(BOOL) textFieldShouldReturn:(UITextField *)textField;
Run Code Online (Sandbox Code Playgroud)

.m档案中:

-(BOOL) textFieldShouldReturn:(UITextField *)textField{

    [aTextField resignFirstResponder];
    return YES;
}
Run Code Online (Sandbox Code Playgroud)

但是,每当我触摸返回键时,它都不会隐藏键盘.

iphone ios resignfirstresponder

2
推荐指数
1
解决办法
5173
查看次数

预期的标识或')'目标C

(IBAction)textFieldDoneEditing:(id)sender{//Expected identifer or ')'
    [sender resignFirstResponder];
}
Run Code Online (Sandbox Code Playgroud)

怎么了?这是"开始iOS 6开发"的一个例子

objective-c sender resignfirstresponder

2
推荐指数
1
解决办法
59
查看次数

Swift:无法让UITextField解除键盘

我的VC中有两个textFields和一个Done按钮但是我在编辑结束时遇到了一些问题.

textFieldDidEndEditing当我在另一个textField内部之后点击一个,或者当我在textField外面点击时(因为我在父视图中添加了一个点击识别器)但是当我点击Done按钮时,我的方法被调用.

而且,最重要的(特别是当我在实际设备上运行时),即使我的textFieldDidEndEditing方法调用,键盘也不会在任何这些情况下消失resignFirstResponder().

为什么键盘没有解雇?另外,textFieldDidEndEditing当我在场外自动点击(没有来自点击识别器)时,是否有一种方法可以被调用?看起来这应该是它的工作方式,但如果我错了,我错了.

这是我的代码的一些相关部分.

1.想要解雇键盘.此方法的第一部分有效,并且存储了值(当完全调用该方法时).光标在任何时候都不会从textField中消失,键盘也不会被解除.

        func textFieldDidEndEditing(_ textField: UITextField) {
    if let playerName = textField.text, let playerNum = nameFields.index(of: textField) {
        playerNames[playerNum] = playerName
    }
    resignFirstResponder()
}

func textFieldShouldReturn(_ textField: UITextField) -> Bool {
    textFieldDidEndEditing(textField)
    return true
}
Run Code Online (Sandbox Code Playgroud)

此外,这是一个奇怪的事情:当我设置一个断点textFieldDidEndEditing和调试时,在一个字段中输入一个值并点击Done,它将转移到下一个场景,然后停在textFieldDidEndEditing,此时无效(值可能存储但它们没有反映在新场景中).

2.尝试将点击识别器添加到完成按钮.我的代码中没有完成按钮的出口,只是出于懒惰,所以这可能是最好的解决方案.但是,我仍然对为什么这不起作用感兴趣.这与定义在父视图中工作的点击识别器的代码相同.

func dismiss(_ sender:UITapGestureRecognizer) {
    nameFields.forEach { textFieldDidEndEditing($0) }
}

override func viewDidAppear(_ animated: Bool) {
    for …
Run Code Online (Sandbox Code Playgroud)

uitextfield resignfirstresponder swift

2
推荐指数
1
解决办法
2866
查看次数