iOS开发之微信聊天工具栏的封装开发之微信聊天工具栏的封装
主要为大家详细介绍了iOS开发之微信聊天工具栏的封装,针对聊天工具条进行封装,感兴趣的小伙伴们可以参考一下
微信大家基本上都用过,今天要做的就是微信的聊天工具条。聊天工具条还是比较复杂的,其中包括发送表情,发送文字,发送图片,发送声音,拍照等等功能,下面给出发送
录音,文字,表情的代码,其他的和这几样类似。还是那句话百字不如一图,先来几张效果图吧。
在封装聊天工具条的的时候表情键盘是之前封装好的,所以拿过来就可以用的啦。因为不管是工具条还是表情键盘都是用约束来控件大小的,所以横屏也是没问题的,在大屏手
机上也是没问题的。下面将会一步步讲解如何封装下面的聊天工具条。主要是对工具条的封装,表情键盘在这就不做讲解了。
一、一、ToolView预留的接口预留的接口
在封装ToolView中主要用到Block回调,读者可以根据自己的个人习惯来选择是Block回调,还是委托回调或者是目标动作回调(笔者更喜欢Block回调),下面的代码是ToolView
给调用者提供的接口
//
// ToolView.h
// MecroMessage
//
// Created by (青玉伏案)on 14-9-22.
// Copyright (c) 2014年 Mrli. All rights reserved.
//
#import <UIKit/UIKit.h>
//定义block类型把ToolView中TextView中的文字传入到Controller中
typedef void (^MyTextBlock) (NSString *myText);
//录音时的音量
typedef void (^AudioVolumeBlock) (CGFloat volume);
//录音存储地址
typedef void (^AudioURLBlock) (NSURL *audioURL);
//改变根据文字改变TextView的高度
typedef void (^ContentSizeBlock)(CGSize contentSize);
//录音取消的回调
typedef void (^CancelRecordBlock)(int flag);
@interface ToolView : UIView<UITextViewDelegate,AVAudioRecorderDelegate>
//设置MyTextBlock
-(void) setMyTextBlock:(MyTextBlock)block;
//设置声音回调
-(void) setAudioVolumeBlock:(AudioVolumeBlock) block;
//设置录音地址回调
-(void) setAudioURLBlock:(AudioURLBlock) block;
-(void)setContentSizeBlock:(ContentSizeBlock) block;
-(void)setCancelRecordBlock:(CancelRecordBlock)block;
-(void) changeFunctionHeight: (float) height;
@end
二、初始化二、初始化ToolView中所需的控件中所需的控件