标签: jsqmessagesviewcontroller

如何将搜索栏添加到JSQMessagesViewController

在我的聊天应用程序中,我使用JSQMessagesViewController来呈现对话.该应用程序还有我要搜索的公共消息.我现在尝试使用JSQMessagesViewController显示它们.为此我想隐藏inputToolbar(可以工作)并添加一个搜索栏.

如何使搜索栏可见?当您查看属性topContentAdditionalInset时,它看起来应该是可能的.这是我尝试的代码:

override func viewDidLoad() {
    super.viewDidLoad()

    self.inputToolbar.removeFromSuperview()

    self.searchBar.removeFromSuperview()
    self.topContentAdditionalInset = 44
    self.searchBar.frame = CGRect(x: 0, y: 25, width: 320, height: 44)

    // Attempt 1
    // self.collectionView.addSubview(self.searchBar)

    // Attempt 2
    // self.view.addSubview(self.searchBar)

    // Attempt 3
    // self.navigationController?.navigationBar.addSubview(self.searchBar)

    // Attempt 4
    // self.inputToolbar.addSubview(self.searchBar)

    // Attempt 5
    self.collectionView.superview!.addSubview(self.searchBar)
}
Run Code Online (Sandbox Code Playgroud)

更新:

以下代码似乎可以正常工作.它的问题是: - 它是collectionView的一个子项,因此将滚动显示内容.将其添加到.superview不起作用. - 当搜索栏获得焦点时,它向下滚动44个像素.

var keepRef:JSQMessagesInputToolbar!
var searchBar:UISearchBar!
override func viewDidAppear(animated: Bool) {
    super.viewDidAppear(animated)

    if self.inputToolbar.superview != nil {
        keepRef = self.inputToolbar
        self.inputToolbar.removeFromSuperview()
    }

    self.topContentAdditionalInset = 44
    if searchBar …
Run Code Online (Sandbox Code Playgroud)

search chat customizing ios jsqmessagesviewcontroller

13
推荐指数
1
解决办法
1949
查看次数

JSQMessagesViewController动画类型指示器

我正在开发一个使用JSQMessagesViewController库的项目.有没有人成功地为打字指示器制作动画,如果可以,他们可以分享他们的方法吗?

谢谢!

jsqmessagesviewcontroller

12
推荐指数
1
解决办法
1459
查看次数

如果突出显示的单词是一行的第一行,则 textView 中的 NSBackgroundColorAttributeName 不考虑范围

我正在实施“在聊天中搜索”功能,并且希望在消息中突出显示搜索到的单词。如标题所述,问题在于如果单词是一行的第一行(长消息显然是多行的),则整行而不是单个单词会被突出显示。

在调试时,我也尝试应用下划线而不是背景色,下划线是正确的。我无法弄清楚问题出在哪里。我的应用程序的聊天基于JSQMessagesViewController,所以我认为问题可能出在那里。

[attributedString addAttribute:NSBackgroundColorAttributeName
                         value:backColor
                         range:wordRange];
[attributedString addAttribute:NSUnderlineStyleAttributeName
                         value:@(NSUnderlineStyleSingle)
                         range:wordRange];

cell.textView.attributedText = attributedString;
Run Code Online (Sandbox Code Playgroud)

我不发布计算范围的代码,因为范围是正确的;事实上,如果我在调试中查看 attributedString 的预览(我将它分配给 cell.textView.attributedText),我可以看到只有单词被突出显示,而不是所有字符串。

下面是一个例子:
例子

objective-c nstextview nsattributedstring ios jsqmessagesviewcontroller

11
推荐指数
1
解决办法
243
查看次数

无法构建Objective-C模块'JSQMessagesViewController'

我有两个项目都使用JSQMessagesViewController,但在其中一个我收到错误:"无法构建Objective-C模块'JSQMessagesViewController'",而另一个工作正常......两者之间几乎没有区别项目,我如何让JSQMessagesViewController工作,因为它对我的应用程序至关重要.谢谢.

xcode objective-c swift jsqmessagesviewcontroller

10
推荐指数
1
解决办法
3万
查看次数

如何在JSQMessagesController中更改发送按钮图像

如何将JSQMessagesController"发送"按钮从String更改为UIImageView?

现在它看起来像:

在此输入图像描述

我可以将此"发送"更改为图像吗?

我试过了:

let sendButton = JSQMessagesInputToolbar()
sendButton.contentView?.rightBarButtonItem?.imageView?.image = UIImage(named: "send.png")
Run Code Online (Sandbox Code Playgroud)

但我认为这是错的,因为它不起作用= /

ios swift jsqmessagesviewcontroller

9
推荐指数
1
解决办法
2791
查看次数

IOS 14 中未显示 JSQMessageViewController 的集合单元格中的媒体项

我正在使用 JSQMessageViewController 并且我面临的问题(仅在 ios14 中)我无法在设备中看到图像、视频和音频等媒体项目,尽管这些视图正在生成调试视图层次结构。见下图:-

调试视图层次截图:

在此处输入图片说明

这是集合视图单元格内 UIImage 的描述: <UIImageView: 0x7fe7d6d95b30; 框架 = (20 8; 177 131); clipsToBounds = YES; 不透明 = 否;自动调整大小 = RM+BM; userInteractionEnabled = NO; 层 = <CALayer: 0x600001ce4ec0>>

这是屏幕附加的屏幕截图:

在此处输入图片说明

您可以看到视图为图像生成了空间,但没有显示!

有人面临这个问题吗?我怎么解决这个问题。此问题发生在 iOS 14 中,它在 iOS 13 中完美运行。

objective-c ios swift jsqmessagesviewcontroller ios14

9
推荐指数
1
解决办法
489
查看次数

无法删除无法删除"Info.plist"

我几天前一直试图解决这个问题.我在我的iOS项目中添加了JSQMessagesViewController.通过拖放从Github下载的JSQMessagesViewController文件夹手动添加库.试图为jsqmessagesviewcontroller添加一个Bridging标头.试图添加

#import JSQMessagesViewController 
#import JSQMessages.h 
Run Code Online (Sandbox Code Playgroud)

之后当我构建项目时,我发现了此错误消息

error: failed to remove /Users/user/Library/Developer/Xcode/DerivedData/CHATAPP-gcvyuyhkvbxvnlfnrrbmaebxevhx/Build/Products/Debug-iphonesimulator/CHATAPP.app/Info.plist: “Info.plist” couldn’t be removed.
Run Code Online (Sandbox Code Playgroud)

我试过搜索但没有帮助...出了什么问题?我该如何删除此错误?使用swift 2.2和xcode 7.2

ios jsqmessagesviewcontroller xcode7 swift2

8
推荐指数
3
解决办法
1万
查看次数

如何使用JSQMessageViewController显示发件人显示名称?

我有以下函数被调用添加消息:

    func addMessage(text: String, displayName: String) {
        let message = JSQMessage(senderId: "tester", displayName: displayName, text: text)
        messages.append(message)

        finishReceivingMessage()

}
Run Code Online (Sandbox Code Playgroud)

然后在这个功能

    override func collectionView(collectionView: JSQMessagesCollectionView!,
    messageDataForItemAtIndexPath indexPath: NSIndexPath!) -> JSQMessageData! {
        return messages[indexPath.item]
}
Run Code Online (Sandbox Code Playgroud)

我返回该indexPath的消息日期.消息显示正确,但没有显示名称.

ios swift jsqmessagesviewcontroller

7
推荐指数
2
解决办法
3360
查看次数

jsqmessageviewcontroller ios11工具栏

我已经尝试了JSQMessageViewControlleriOS 11模拟器内部的快速示例.结果如下:截图

我尝试使用安全区域边距并修改工具栏约束但仍然没有区别.似乎工具栏在UIWindow之外(改为UITextEffectsWindow).有什么解决方案吗?

uitoolbar ios jsqmessagesviewcontroller ios11

7
推荐指数
2
解决办法
1900
查看次数

如何在JSQMessageViewController中发送文档文件?

我想为JSQMessageViewController我正在构建的应用程序发送文档文件.怎么做?

io ios cocoapods swift jsqmessagesviewcontroller

6
推荐指数
0
解决办法
172
查看次数