菜鸟教程小白 发表于 2022-12-12 16:30:33

ios - 如何实现自定义 JSQMessagesInputToolbar


                                            <p><p>是否可以实现自定义<a href="https://github.com/jessesquires/JSQMessagesViewController/blob/develop/JSQMessagesViewController/Views/JSQMessagesInputToolbar.h" rel="noreferrer noopener nofollow">JSQMessagesInputToolbar</a>对于 <a href="http://www.jessesquires.com/JSQMessagesViewController/" rel="noreferrer noopener nofollow">JSQMessagesViewController</a> ? </p>

<p>我需要设置自定义<code>UIToolbar</code>,但是<code>inputToolbar</code> <a href="https://github.com/jessesquires/JSQMessagesViewController/blob/develop/JSQMessagesViewController/Controllers/JSQMessagesViewController.h#L46" rel="noreferrer noopener nofollow">property</a> <code>JSQMessagesViewController</code> 类是只读的并从 <code>.xib</code> 初始化,所以我不知道如何插入 <code>JSQMessagesInputToolbar</code> 的重写实现。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>创建一个Category并替换方法的实现
<strong>loadToolbarContentView</strong> 方法。这基本上用你定义的函数替换了原来函数的实现。</p>

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

<pre><code>#import &lt;JSQMessagesViewController/JSQMessagesViewController.h&gt;
@interface JSQMessagesInputToolbar (InputCategory)
@end
</code></pre>

<p>还有下面的.m文件</p>

<pre><code>#import &#34;JSQMessagesInputToolbar+InputCategory.h&#34;
@implementation JSQMessagesInputToolbar (InputCategory)

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

    NSArray *topLevelObjects = [ loadNibNamed:@&#34;updatedXib&#34; owner:self options:nil];
    return topLevelObjects.firstObject;
    //self.preferredDefaultHeight = 84.0f; this could also be useful
}
@end
</code></pre>

<p>您可能还想扩展 <strong>JSQMessagesViewController</strong> 的实现来处理更新后的Xib UI 元素的特定行为。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 如何实现自定义 JSQMessagesInputToolbar,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/33019348/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/33019348/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 如何实现自定义 JSQMessagesInputToolbar