OStack程序员社区-中国程序员成长平台

标题: ios - 如何实现自定义 JSQMessagesInputToolbar [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 16:30
标题: ios - 如何实现自定义 JSQMessagesInputToolbar

是否可以实现自定义JSQMessagesInputToolbar对于 JSQMessagesViewController ?

我需要设置自定义UIToolbar,但是inputToolbar property JSQMessagesViewController 类是只读的并从 .xib 初始化,所以我不知道如何插入 JSQMessagesInputToolbar 的重写实现。



Best Answer-推荐答案


创建一个Category并替换方法的实现 loadToolbarContentView 方法。这基本上用你定义的函数替换了原来函数的实现。

因此,使用以下 .h 文件创建一个类别:

#import <JSQMessagesViewController/JSQMessagesViewController.h>
@interface JSQMessagesInputToolbar (InputCategory)
@end

还有下面的.m文件

#import "JSQMessagesInputToolbar+InputCategory.h"
@implementation JSQMessagesInputToolbar (InputCategory)

- (JSQMessagesToolbarContentView *)loadToolbarContentView
{
    //this is called once in the loadNib and returns the toolbar

    NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed"updatedXib" owner:self options:nil];
    return topLevelObjects.firstObject;
    //self.preferredDefaultHeight = 84.0f; this could also be useful
}
@end

您可能还想扩展 JSQMessagesViewController 的实现来处理更新后的Xib UI 元素的特定行为。

关于ios - 如何实现自定义 JSQMessagesInputToolbar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33019348/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4