【问题标题】:-(void)textFieldDidBeginEditing:(UITextField *)sender.. this function is not called when i select textfield?-(void)textFieldDidBeginEditing:(UITextField *)sender.. 当我选择文本字段时不调用这个函数?
【发布时间】:2010-11-26 12:41:34
【问题描述】:

我在我的应用程序中使用-(void)textFieldDidBeginEditing:(UITextField *)sender 这个函数。当我选择文本字段时不会调用它。 这是代码...

-(void)textFieldDidBeginEditing:(UITextField *)sender{  
    if([sender isEqual:txtName])//txtName is the IBOutlet of the UITextField  
    {  
        NSLog(@"Name");  
    }  
    else{  
        NSLog(@"NO_Name");  
    }  
}

【问题讨论】:

  • 您已经问了 10 个问题,但到目前为止没有接受任何答案...请接受您的问题的答案,以便人们更愿意帮助您。

标签: iphone delegates uitextfield


【解决方案1】:

您是否将 UITextField 实例的委托设置为当前视图控制器,如下所示:

textField.delegate = self;(self表示回调textFieldDidBeginEditing被覆盖的实例)

【讨论】:

    【解决方案2】:

    确保完成两个简单的步骤

    1 - 实现委托UITextFieldDelegate

    @interface yourViewController : UIViewController <UITextFieldDelegate>

    2 - 设置委托

    yourTextField.delegate = self

    如果您的视图中有许多文本字段,您可以像这样为所有文本字段设置委托

    for (id subView in self.view.subviews)
        {
            if ([subView isKindOfClass:[UITextField class]]) {
                [subView setDelegate:self];
            }
        }
    

    【讨论】:

      【解决方案3】:

      您必须在 .h 文件中包含 UITextFieldDelegate

      @interface yourViewController : UIViewController <UITextFieldDelegate>
      

      【讨论】:

        【解决方案4】:

        您必须在 .h 文件中包含 UITextFieldDelegate,并添加 YourTextField.delegate = self

        【讨论】:

          猜你喜欢
          • 2011-08-06
          • 2023-04-09
          • 1970-01-01
          • 2012-12-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-11-17
          • 2014-11-13
          相关资源
          最近更新 更多