04环信聊天界面 - 底部工具栏布局

1.界面布局




2.演示效果


3.聊天控制器代码如下:

//
//  ChatViewController.m


#import "ChatViewController.h"

@interface ChatViewController ()
/**
 *  inputToolbar(输入工具栏)底部的约束
 */
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *inputToolbarBottomConstraint;

@end

@implementation ChatViewController

- (void)viewDidLoad {
    [super viewDidLoad];
   
    // 1.监听键盘的弹出
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];
    // 2.监听键盘的退出
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];
}

/**
 *  键盘退出会调用
 */
- (void)keyboardWillHide:(NSNotification *)notice
{
    // inputToolbar回到原位
    self.inputToolbarBottomConstraint.constant = 0;
    [UIView animateWithDuration:0.25 animations:^{
        [self.view layoutIfNeeded];
    }];
}

/**
 *  键盘弹出会调用
 */
- (void)keyboardWillShow:(NSNotification *)notice
{
    // 1.获取键盘高度
    CGFloat heigth = [notice.userInfo[UIKeyboardFrameEndUserInfoKey] CGRectValue].size.height;
    
    // 2.更改inputToolbar底部约束
    self.inputToolbarBottomConstraint.constant = heigth;
    [UIView animateWithDuration:0.25 animations:^{
        [self.view layoutIfNeeded]; 
    }];
}

/**
 *  添加通知要移除,我们可以在这里方法里移除
 */
- (void)dealloc
{
    [[NSNotificationCenter defaultCenter] removeObserver:self];
}

@end

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值