BSKeyboardControls 2.2

BSKeyboardControls 2.2

测试已测试
Lang语言 Obj-CObjective C
许可证 MIT
发布上次发布2014年12月

Simon Støvring维护。



  • Simon Støvring

介绍

BSKeyboardControls使得在键盘上方添加一个输入附件视图变得简单,允许您切换到上一个和下一个文本字段以及关闭键盘。就像iOS上的Safari中看到的那样。

  • iPhone和iPad兼容
  • 需要iOS 5+
  • 使用ARC

安装

使用BSKeyboardControls最容易的方法是将BSKeyboardControls/中的文件复制到您的Xcode项目中。

  1. 在Finder中,导航到您的BSKeyboardControls目录
  2. 将整个目录拖动到Xcode中

使用方法

无论您在哪里想要使用BSKeyboardControls,都像这样导入BSKeyboardControls.h

#import "BSKeyboardControls.h"

现在您需要设置BSKeyboardControls。这分为五个简单的步骤

  1. 初始化键盘控件
  2. 设置键盘控件的委托
  3. 将所有字段添加到键盘控件中(字段的顺序很重要)
  4. 设置所有文本字段的委托

下面是如何设置键盘控件的例子。以下示例假设文本字段和文本视图已在Interface Builder中设置了委托。

NSArray *fields = @[ self.textFieldUsername, self.textFieldPassword,
                     self.textFieldRepeatedPassword, self.textViewAbout,
                     self.textFieldFavoriteFood, self.textFieldFavoriteMovie,
                     self.textFieldFavoriteBook, self.textViewNotes];

[self setKeyboardControls:[[BSKeyboardControls alloc] initWithFields:fields]];
[self.keyboardControls setDelegate:self];

接下来,您必须设置委托方法。BSKeyboardControls需要三个委托:BSKeyboardControlsDelegateUITextFieldDelegateUITextViewDelegate

首先,当用户按下“完成按钮”时,您希望关闭键盘。

- (void)keyboardControlsDonePressed:(BSKeyboardControls *)keyboardControls
{
    [keyboardControls.activeField resignFirstResponder];
}

然后您想让视图在字段选中时滚动。有很多种方法来做这件事,您可能需要调整。

- (void)keyboardControls:(BSKeyboardControls *)keyboardControls selectedField:(UIView *)field inDirection:(BSKeyboardControlsDirection)direction
{
    UIView *view = keyboardControls.activeField.superview.superview;
    [self.tableView scrollRectToVisible:view.frame animated:YES];
}

这就是BSKeyboardControlsDelegate的全部内容。现在您想要设置UITextFieldDelegate。唯一需要的方法是- (void)textFieldDidBeginEditing:

- (void)textFieldDidBeginEditing:(UITextField *)textField
{
    [self.keyboardControls setActiveField:textField];
}

接下来,您设置UITextViewDelegate中的- (void)textViewDidBeginEditing:方法。这与UITextFieldDelegate类似。

- (void)textViewDidBeginEditing:(UITextView *)textView
{
    [self.keyboardControls setActiveField:textView];
}

现在您可以开始使用BSKeyboardControls了。有关如何使用BSKeyboardControls的更多信息,请参阅Example.xcodeproj