仿微信输入框的要点:1.输入框自适应高度 2.轻触弹出菜单可换行
首先需要写一个自定义输入框,可设置提示文字及颜色
代码如下
.h文件
.m文件
创建输入框
遵循代理 UITextViewDelegate,FTextViewDelegate
监听键盘变化
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];
//键盘的frame即将发生变化时立刻发出该通知
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(keyboardChanged:) name:UIKeyboardWillChangeFrameNotification object:nil];
注意:1.UIMenuController会展示在最上层的Window上,所以如果有不显示的情况请查看Window是否为keywindow,
2.输入框的最大高度我写的是大概,主要还是得限制输入字数
3.用到的宏定义IPHONEX_SAFE_BOTTOM_MARGIN是齐刘海手机的底部安全区,#define IPHONEX_SAFE_BOTTOM_MARGIN (IS_IPHONEX || IS_IPHONE_Xr || IS_IPHONE_Xs || IS_IPHONE_Xs_Max ?34.f:0.f)
4.footerView是底部视图的背景View
最终效果