gpt4 book ai didi

ios - 在iOS中使用JSQMessageViewController无法获得聊天气泡

转载 作者:行者123 更新时间:2023-12-01 20:18:37 26 4
gpt4 key购买 nike

我没有在JSQMessageViewController中获得聊天气泡,但是无法获取要添加的方法以在IOS的聊天页面中获得聊天气泡,当我键入文本并单击“发送未得到气泡”时,我仅得到了“文本框”和“发送”按钮。请帮我。

 //  .h File content
// ChatpageViewController.h
// ChatApp


#import <UIKit/UIKit.h>
#import <JSQMessagesViewController/JSQMessages.h>
#import <JSQMessagesViewController.h>
#import "JSQMessagesCollectionViewFlowLayout.h"
#import "JSQMessages.h"
#import "JSQPhotoMediaItem.h"
#import "JSQLocationMediaItem.h"
#import "JSQVideoMediaItem.h"
#import "JSQMessagesMediaViewBubbleImageMasker.h"
#import "JSQMessagesAvatarImage.h"
#import "JSQMessagesAvatarImageFactory.h"
#import "JSQMessagesBubbleImage.h"
#import "JSQMessagesBubbleImageFactory.h"
#import "UIImage+JSQMessages.h"



@interface ChatpageViewController : JSQMessagesViewController<JSQMessagesCollectionViewDataSource,JSQMessagesCollectionViewDelegateFlowLayout,JSQMessagesCollectionViewCellDelegate,JSQMessageData,JSQMessageMediaData,JSQMessageAvatarImageDataSource,JSQMessageBubbleImageDataSource>

@property(nonatomic,strong)NSDictionary * receivedict;


@property (strong, nonatomic) IBOutlet UILabel *name;
@property (strong, nonatomic) IBOutlet UILabel *mobile;
- (IBAction)cancelbtn:(id)sender;


@end

M文件从这里开始
//
// ChatpageViewController.m
// ChatApp
//


#import "ChatpageViewController.h"


@interface ChatpageViewController ()
{

}

@end

@implementation ChatpageViewController
@synthesize receivedict,name,mobile;




-(void)viewWillAppear:(BOOL)animated
{

self.collectionView.collectionViewLayout.springinessEnabled = YES;
}

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
[self.navigationController setNavigationBarHidden:YES animated:YES];
NSLog(@"%@",receivedict);
name.text = [receivedict objectForKey:@"Name"];
id.text =[receivedict objectForKey:@"Id"];



}

- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}

- (NSString *)senderId
{
return [receivedict objectForKey:@"Id"];
}


- (NSString *)senderDisplayName
{

return [receivedict objectForKey:@"Name"];
}

- (NSDate *)date
{
return 18/03/2016;
}


- (void)didPressSendButton:(UIButton *)button withMessageText:(NSString *)text senderId:(NSString *)senderId senderDisplayName:(NSString *)senderDisplayName date:(NSDate *)date
{

[JSQSystemSoundPlayer jsq_playMessageSentSound];

JSQMessage *message = [[JSQMessage alloc] initWithSenderId:senderId
senderDisplayName:senderDisplayName
date:date
text:text];
// [demoData.messages addObject:message];
[self finishSendingMessageAnimated:YES];


NSLog(@"%@",message);
}



- (IBAction)cancelbtn:(id)sender
{
[self.navigationController popViewControllerAnimated:YES];
}
@end

最佳答案

您的代码中有很多问题..您没有实现所有的JSQ方法..请检查如何集成JSQMessageViewController,是否有气泡,这是您主要的问题检查答案:-

您必须使用JSQMessagesBubbleImage类来获取类似...的气泡

.h文件中定义

 @property (strong, nonatomic) JSQMessagesBubbleImage *outgoingBubbleImageData;
@property (strong, nonatomic) JSQMessagesBubbleImage *incomingBubbleImageData;

.m文件中
JSQMessagesBubbleImageFactory *bubbleFactory = [[JSQMessagesBubbleImageFactory alloc] init];

self.outgoingBubbleImageData = [bubbleFactory outgoingMessagesBubbleImageWithColor:[UIColor jsq_messageBubbleBlueColor]];
self.incomingBubbleImageData = [bubbleFactory incomingMessagesBubbleImageWithColor:[UIColor jsq_messageBubbleLightGrayColor]];

比提供JSQMessages CollectionView数据源
 - (id<JSQMessageBubbleImageDataSource>)collectionView:(JSQMessagesCollectionView *)collectionView messageBubbleImageDataForItemAtIndexPath:(NSIndexPath *)indexPath
{
JSQMessage *message = [messages objectAtIndex:indexPath.item];

if ([message.senderId isEqualToString:self.senderId]) {
return self.outgoingBubbleImageData;
}

return self.incomingBubbleImageData;
}

关于ios - 在iOS中使用JSQMessageViewController无法获得聊天气泡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36081135/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com