iOS 开发之仿微信输入框

仿微信输入框的要点:1.输入框自适应高度 2.轻触弹出菜单可换行

首先需要写一个自定义输入框,可设置提示文字及颜色

代码如下

.h文件


iOS 开发之仿微信输入框_第1张图片

.m文件


iOS 开发之仿微信输入框_第2张图片
iOS 开发之仿微信输入框_第3张图片

创建输入框


iOS 开发之仿微信输入框_第4张图片

遵循代理 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];


iOS 开发之仿微信输入框_第5张图片
iOS 开发之仿微信输入框_第6张图片
iOS 开发之仿微信输入框_第7张图片
iOS 开发之仿微信输入框_第8张图片

注意: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

最终效果


iOS 开发之仿微信输入框_第9张图片
iOS 开发之仿微信输入框_第10张图片

你可能感兴趣的:(iOS 开发之仿微信输入框)