按UIButton时调用UITextField的textFieldDidEndEditing

时间:2015-06-16 03:50:54

标签: objective-c uitextfield

在按下UIButton时,是否还要调用UITextField的 textFieldDidEndEditing

textFieldDidEndEditing中的当前流程功能可在用户按下" 返回"或" 完成"按钮,然后单击UIButton。为清楚起见,如果要在 textFieldDidEndEditing 中运行 ABC功能,用户必须按" 返回"或" 完成"键盘按钮,然后单击UIButton。

我想要的是我想在textFieldDidEndEditing中运行功能可以在用户按UIButton时运行。

2 个答案:

答案 0 :(得分:6)

在按钮处理程序方法中,调用:

[self.view endEditing:YES];

这会强制键盘消失,无论当前文本字段的焦点是什么,焦点都将重新响应第一响应者,并且将为其调用textFieldDidEndEditing:方法。

以上假设按钮处理程序位于视图控制器类中。

由于您正在处理自定义单元格并且按钮位于自定义单元格中,因此只需执行以下操作:

[self endEditing:YES];

其中self是自定义单元格。这将重新签名单元格中的任何文本字段。

答案 1 :(得分:0)

您可以使用textfield AudioStreamBasicDescription asbd = {0}; asbd.mSampleRate = self.currentAudioSampleRate; asbd.mFormatID = kAudioFormatLinearPCM; asbd.mFormatFlags = kLinearPCMFormatFlagIsSignedInteger; asbd.mChannelsPerFrame = 2; asbd.mBytesPerFrame = bytesPerSample * 2; asbd.mBitsPerChannel = 8 * bytesPerSample; asbd.mFramesPerPacket = 1; asbd.mBytesPerPacket = bytesPerSample * 2; 通知

UIKeyboardWillHideNotification

单击按钮时,只需按

重新排列文本字段
- (void)viewDidLoad 
{
     [super viewDidLoad];
        // register for keyboard dismiss notification
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:)  name:UIKeyboardWillHideNotification object:nil];
}
 - (void)keyboardWillHide:(NSNotification *)notification
{
     // This function will be called whenever the keyboard hides. So you can implement your textFieldDidEndEditing code here.
}