CLKeyboardOffsetView - iOS 键盘视图


MIT
iOS
Objective-C

软件简介

CLKeyboardOffsetView 是键盘补偿视图工具,为了避免弹出的键盘遮挡输入框,向上移动视图 。

image

使用方法:

#import "UIView+CLKeyboardOffsetView.h"
- (void)viewDidAppear:(BOOL)animated
{
  [super viewDidAppear:animated];
  // 打开键盘补偿视图
  [self.view openKeyboardOffsetView];
  self.view.keyboardGap = 10; // 如果需要自定义键盘与第一响应者之间的间隙,则设置此属性,默认为5
}
- (void)viewDidDisappear:(BOOL)animated
{
  [super viewDidDisappear:animated];
  // 关闭键盘补偿视图
  [self.view closeKeyboardOffsetView];
}
如果需要自定义视图向上移动的高度,则使用代理 
<CLKeyboardOffsetViewDelegate>
self.view.keyboardOffsetViewDelegate = self;
并添加代理方法
/**
 *  弹出键盘时,自定义视图向上移动的高度
 *
 *  @param firstResponder 第一响应者
 *  @param keyboardHeight 当前弹出键盘的高度
 *  @param offsetHeight   默认偏移高度
 *
 *  @return 视图向上移动的高度
 */
- (CGFloat)offsetViewHeightWithFirstResponder:(UIView *)firstResponder
                               keyboardHeight:(CGFloat)keyboardHeight
                                 offsetHeight:(CGFloat)offsetHeight
{
    if ([firstResponder isEqual:_testTextField])
    {
        return keyboardHeight;
    }
    return offsetHeight;
}