消息的删除等

This commit is contained in:
wu736139669
2015-06-26 15:49:48 +08:00
parent 93e64bfcfe
commit 4a9bac5452
8 changed files with 558 additions and 99 deletions
@@ -2649,11 +2649,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Ash_AWord/ViewControllers/Chat/ChatMainViewController.m"
timestampString = "456933977.786965"
timestampString = "456994426.356087"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "158"
endingLineNumber = "158"
startingLineNumber = "161"
endingLineNumber = "161"
landmarkName = "-didSendText:"
landmarkType = "5">
</BreakpointContent>
@@ -2729,11 +2729,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Ash_AWord/ViewControllers/Chat/ChatMainViewController.m"
timestampString = "456933977.786965"
timestampString = "456994426.356087"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "283"
endingLineNumber = "283"
startingLineNumber = "286"
endingLineNumber = "286"
landmarkName = "-moreViewPhotoAction:"
landmarkType = "5">
</BreakpointContent>
@@ -2837,15 +2837,15 @@
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Ash_AWord/ViewControllers/Chat/ChatMainViewController.m"
timestampString = "456933977.786965"
timestampString = "456997414.065256"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "635"
endingLineNumber = "635"
startingLineNumber = "645"
endingLineNumber = "645"
landmarkName = "-reloadTableViewDataWithMessage:"
landmarkType = "5">
</BreakpointContent>
@@ -2853,15 +2853,15 @@
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Ash_AWord/ViewControllers/Chat/ChatMainViewController.m"
timestampString = "456933977.786965"
timestampString = "456997414.065256"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "636"
endingLineNumber = "636"
startingLineNumber = "646"
endingLineNumber = "646"
landmarkName = "-reloadTableViewDataWithMessage:"
landmarkType = "5">
</BreakpointContent>
@@ -2885,31 +2885,15 @@
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Ash_AWord/ViewControllers/Chat/ChatMainViewController.m"
timestampString = "456933977.786965"
timestampString = "456997414.065256"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "638"
endingLineNumber = "638"
landmarkName = "-reloadTableViewDataWithMessage:"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Ash_AWord/ViewControllers/Chat/ChatMainViewController.m"
timestampString = "456933977.786965"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "637"
endingLineNumber = "637"
startingLineNumber = "648"
endingLineNumber = "648"
landmarkName = "-reloadTableViewDataWithMessage:"
landmarkType = "5">
</BreakpointContent>
@@ -2921,11 +2905,27 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Ash_AWord/ViewControllers/Chat/ChatMainViewController.m"
timestampString = "456933977.786965"
timestampString = "456997414.065256"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "653"
endingLineNumber = "653"
startingLineNumber = "647"
endingLineNumber = "647"
landmarkName = "-reloadTableViewDataWithMessage:"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Ash_AWord/ViewControllers/Chat/ChatMainViewController.m"
timestampString = "456997414.065256"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "663"
endingLineNumber = "663"
landmarkName = "-didReceiveMessage:"
landmarkType = "5">
</BreakpointContent>
@@ -2937,11 +2937,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Ash_AWord/ViewControllers/Chat/ChatMainViewController.m"
timestampString = "456933977.786965"
timestampString = "456997414.065256"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "712"
endingLineNumber = "712"
startingLineNumber = "726"
endingLineNumber = "726"
landmarkName = "-formatMessages:"
landmarkType = "5">
<Locations>
@@ -2985,11 +2985,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Ash_AWord/ViewControllers/Chat/ChatMainViewController.m"
timestampString = "456933977.786965"
timestampString = "456997414.065256"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "782"
endingLineNumber = "782"
startingLineNumber = "796"
endingLineNumber = "796"
landmarkName = "-didFetchingMessageAttachments:progress:"
landmarkType = "5">
</BreakpointContent>
@@ -3049,11 +3049,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Ash_AWord/ViewControllers/Chat/ChatMainViewController.m"
timestampString = "456933977.786965"
timestampString = "456997414.065256"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "786"
endingLineNumber = "786"
startingLineNumber = "800"
endingLineNumber = "800"
landmarkName = "-loadMoreMessages"
landmarkType = "5">
</BreakpointContent>
@@ -3065,11 +3065,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Ash_AWord/ViewControllers/Chat/ChatMainViewController.m"
timestampString = "456933977.786965"
timestampString = "456997414.065256"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "791"
endingLineNumber = "791"
startingLineNumber = "805"
endingLineNumber = "805"
landmarkName = "-loadMoreMessages"
landmarkType = "5">
</BreakpointContent>
@@ -3081,11 +3081,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Ash_AWord/ViewControllers/Chat/ChatMainViewController.m"
timestampString = "456933977.786965"
timestampString = "456997414.065256"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "685"
endingLineNumber = "685"
startingLineNumber = "695"
endingLineNumber = "695"
landmarkName = "-formatMessages:"
landmarkType = "5">
</BreakpointContent>
@@ -3129,11 +3129,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Ash_AWord/ViewControllers/Chat/ChatMainViewController.m"
timestampString = "456933977.786965"
timestampString = "456997414.065256"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "688"
endingLineNumber = "688"
startingLineNumber = "698"
endingLineNumber = "698"
landmarkName = "-formatMessages:"
landmarkType = "5">
</BreakpointContent>
@@ -3269,15 +3269,15 @@
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Ash_AWord/ViewControllers/Chat/ChatMainViewController.m"
timestampString = "456933977.786965"
timestampString = "456997414.065256"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "643"
endingLineNumber = "643"
startingLineNumber = "653"
endingLineNumber = "653"
landmarkName = "-didReceiveMessage:"
landmarkType = "5">
</BreakpointContent>
@@ -3289,11 +3289,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Ash_AWord/ViewControllers/Chat/ChatMainViewController.m"
timestampString = "456933977.786965"
timestampString = "456997414.065256"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "659"
endingLineNumber = "659"
startingLineNumber = "669"
endingLineNumber = "669"
landmarkName = "-didReceiveMessageId:chatter:error:"
landmarkType = "5">
</BreakpointContent>
@@ -3353,11 +3353,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Ash_AWord/ViewControllers/Chat/ChatMainViewController.m"
timestampString = "456933977.786965"
timestampString = "456997414.065256"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "654"
endingLineNumber = "654"
startingLineNumber = "664"
endingLineNumber = "664"
landmarkName = "-didReceiveMessage:"
landmarkType = "5">
</BreakpointContent>
@@ -3369,11 +3369,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Ash_AWord/ViewControllers/Chat/ChatMainViewController.m"
timestampString = "456933977.786965"
timestampString = "456997414.065256"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "655"
endingLineNumber = "655"
startingLineNumber = "665"
endingLineNumber = "665"
landmarkName = "-didReceiveMessageId:chatter:error:"
landmarkType = "5">
</BreakpointContent>
@@ -3785,11 +3785,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Ash_AWord/ViewControllers/Chat/ChatMainViewController.m"
timestampString = "456933977.786965"
timestampString = "456997414.065256"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "584"
endingLineNumber = "584"
startingLineNumber = "594"
endingLineNumber = "594"
landmarkName = "-callSessionStatusChanged:changeReason:error:"
landmarkType = "5">
</BreakpointContent>
@@ -3849,11 +3849,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Ash_AWord/ViewControllers/Chat/ChatMainViewController.m"
timestampString = "456933977.786965"
timestampString = "456994426.356087"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "341"
endingLineNumber = "341"
startingLineNumber = "344"
endingLineNumber = "344"
landmarkName = "-moreViewAudioCallAction:"
landmarkType = "5">
</BreakpointContent>
@@ -3897,11 +3897,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Ash_AWord/ViewControllers/Chat/ChatMainViewController.m"
timestampString = "456933977.786965"
timestampString = "456997414.065256"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "894"
endingLineNumber = "894"
startingLineNumber = "925"
endingLineNumber = "925"
landmarkName = "-proximitySensorChanged:"
landmarkType = "5">
</BreakpointContent>
@@ -3913,11 +3913,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Ash_AWord/ViewControllers/Chat/ChatMainViewController.m"
timestampString = "456933977.786965"
timestampString = "456997414.065256"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "892"
endingLineNumber = "892"
startingLineNumber = "923"
endingLineNumber = "923"
landmarkName = "-proximitySensorChanged:"
landmarkType = "5">
</BreakpointContent>
@@ -3989,15 +3989,15 @@
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Ash_AWord/ViewControllers/Chat/ChatMainViewController.m"
timestampString = "456933977.786965"
timestampString = "456997414.065256"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "499"
endingLineNumber = "499"
startingLineNumber = "505"
endingLineNumber = "505"
landmarkName = "-sendTextMessage:"
landmarkType = "5">
</BreakpointContent>
@@ -4025,11 +4025,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Ash_AWord/ViewControllers/Chat/ChatMainViewController.m"
timestampString = "456933977.786965"
timestampString = "456993612.555684"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "98"
endingLineNumber = "98"
startingLineNumber = "99"
endingLineNumber = "99"
landmarkName = "-viewDidLoad"
landmarkType = "5">
</BreakpointContent>
@@ -4162,5 +4162,245 @@
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Ash_AWord/ViewControllers/My/MessageListViewController.m"
timestampString = "456992825.022664"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "94"
endingLineNumber = "94"
landmarkName = "-loadData"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Ash_AWord/ViewControllers/Chat/ChatMainViewController.m"
timestampString = "456997414.065256"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "950"
endingLineNumber = "950"
landmarkName = "-routerEventWithName:userInfo:"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Ash_AWord/ViewControllers/Chat/ChatMainViewController.m"
timestampString = "456997414.065256"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "806"
endingLineNumber = "806"
landmarkName = "-loadMoreMessages"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Ash_AWord/ViewControllers/Chat/ChatMainViewController.m"
timestampString = "456997414.065256"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "708"
endingLineNumber = "708"
landmarkName = "-formatMessages:"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Ash_AWord/ViewControllers/Chat/ChatMainViewController.m"
timestampString = "456997414.065256"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "565"
endingLineNumber = "565"
landmarkName = "-formatMessage:"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Ash_AWord/ViewControllers/Chat/ChatMainViewController.m"
timestampString = "456997414.065256"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "802"
endingLineNumber = "802"
landmarkName = "-loadMoreMessages"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Ash_AWord/ViewControllers/Chat/ChatMainViewController.m"
timestampString = "456997414.065256"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "846"
endingLineNumber = "846"
landmarkName = "-shouldAckMessage:read:"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Ash_AWord/ViewControllers/Chat/ChatMainViewController.m"
timestampString = "456997414.065256"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "868"
endingLineNumber = "868"
landmarkName = "-shouldMarkMessageAsRead"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Ash_AWord/ViewControllers/Chat/ChatMainViewController.m"
timestampString = "456997414.065256"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "877"
endingLineNumber = "877"
landmarkName = "-sendHasReadResponseForMessages:"
landmarkType = "5">
<Locations>
<Location
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "-[ChatMainViewController sendHasReadResponseForMessages:]"
moduleName = "Ash_AWord"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/xmfish/Documents/Ash_Soft/Ash_AWord/Ash_AWord/ViewControllers/Chat/ChatMainViewController.m"
timestampString = "456997731.778097"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "877"
endingLineNumber = "877"
offsetFromSymbolStart = "84">
</Location>
<Location
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "__57-[ChatMainViewController sendHasReadResponseForMessages:]_block_invoke"
moduleName = "Ash_AWord"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/xmfish/Documents/Ash_Soft/Ash_AWord/Ash_AWord/ViewControllers/Chat/ChatMainViewController.m"
timestampString = "456997731.778294"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "877"
endingLineNumber = "877"
offsetFromSymbolStart = "52">
</Location>
</Locations>
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Ash_AWord/ViewControllers/Chat/ChatMainViewController.m"
timestampString = "456997414.065256"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "880"
endingLineNumber = "880"
landmarkName = "-sendHasReadResponseForMessages:"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Ash_AWord/ViewControllers/Chat/ChatMainViewController.m"
timestampString = "456997414.065256"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "937"
endingLineNumber = "937"
landmarkName = "-markMessagesAsRead:"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Ash_AWord/ViewControllers/Chat/ChatMainViewController.m"
timestampString = "456997414.065256"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "549"
endingLineNumber = "549"
landmarkName = "-addMessage:"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Ash_AWord/ViewControllers/Chat/ChatCell/EMChatViewBaseCell.m"
timestampString = "456997720.024828"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "146"
endingLineNumber = "146"
landmarkName = "-messageCopy:"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
</Breakpoints>
</Bucket>
@@ -27,6 +27,8 @@
self.textLabel.textColor = [UIColor grayColor];
self.selectionStyle = UITableViewCellSelectionStyleNone;
return self;
}
@@ -28,6 +28,7 @@
extern NSString *const kRouterEventChatHeadImageTapEventName;
typedef void (^DelMessage)(NSInteger);
@interface EMChatViewBaseCell : UITableViewCell
{
UIImageView *_headImageView;
@@ -39,6 +40,7 @@ extern NSString *const kRouterEventChatHeadImageTapEventName;
}
@property (nonatomic, strong) MessageModel *messageModel;
@property (strong, nonatomic)DelMessage delMessage;
@property (nonatomic, strong) UIImageView *headImageView; //头像
@property (nonatomic, strong) UILabel *nameLabel; //姓名(暂时不支持显示)
@@ -12,6 +12,8 @@
#import "EMChatViewBaseCell.h"
//#import "UIImageView+EMWebCache.h"
#import "ReportViewController.h"
#import "AppDelegate.h"
NSString *const kRouterEventChatHeadImageTapEventName = @"kRouterEventChatHeadImageTapEventName";
@@ -27,6 +29,11 @@ NSString *const kRouterEventChatHeadImageTapEventName = @"kRouterEventChatHeadIm
if (self) {
// Initialization code
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(headImagePressed:)];
UILongPressGestureRecognizer * longPressGr = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longPressToDo:)];
longPressGr.minimumPressDuration = 1.0;
[self addGestureRecognizer:longPressGr];
CGFloat originX = HEAD_PADDING;
if (model.isSender) {
originX = self.bounds.size.width - HEAD_SIZE - HEAD_PADDING;
@@ -73,6 +80,7 @@ NSString *const kRouterEventChatHeadImageTapEventName = @"kRouterEventChatHeadIm
// Configure the view for the selected state
}
#pragma mark - setter
- (void)setMessageModel:(MessageModel *)messageModel
@@ -86,7 +94,87 @@ NSString *const kRouterEventChatHeadImageTapEventName = @"kRouterEventChatHeadIm
}
#pragma mark - private
-(void)longPressToDo:(UILongPressGestureRecognizer *)gesture
{
if(gesture.state == UIGestureRecognizerStateBegan)
{
CGPoint point = [gesture locationInView:self.superview];
//启动弹出菜单
NSMutableArray *menuItems = [NSMutableArray array];
UIMenuItem *messageCopyItem = [[UIMenuItem alloc] initWithTitle:@"复制" action:@selector(messageCopy:)];
[menuItems addObject:messageCopyItem];
UIMenuItem *messageDelItem = [[UIMenuItem alloc] initWithTitle:@"删除" action:@selector(messageDel:)];
[menuItems addObject:messageDelItem];
if (!_messageModel.isSender) {
UIMenuItem *messageRepItem = [[UIMenuItem alloc] initWithTitle:@"举报" action:@selector(messageRep:)];
[menuItems addObject:messageRepItem];
}
UIMenuController *menu = [UIMenuController sharedMenuController];
[menu setMenuItems:menuItems];
[self becomeFirstResponder];
CGRect targetRect = self.frame;
targetRect.origin.x = point.x;
targetRect.origin.y = point.y;
targetRect.size.height = 50;
targetRect.size.width = 0;
[menu setTargetRect:targetRect inView:self.superview];
[menu setMenuVisible:YES animated:YES];
}
}
-(void)messageRep:(id)sender {
UIMenuController *menu = [UIMenuController sharedMenuController];
[menu setMenuVisible:NO animated:YES];
ReportViewController* reportViewController = [[ReportViewController alloc] init];
reportViewController.authorName = _messageModel.nickName;
reportViewController.msgId = 0;
reportViewController.hidesBottomBarWhenPushed = YES;
[[AppDelegate visibleViewController].navigationController pushViewController:reportViewController animated:YES];
}
-(void)messageCopy:(id)sender{
UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
if (_messageModel.content) {
pasteboard.string = _messageModel.content;
}
}
-(void)messageDel:(id)sender{
UIAlertView* alertView = [[UIAlertView alloc] initWithTitle:@"确认删除" message:@"是否删除" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"删除", nil];
alertView.tag = 0;
[alertView show];
}
-(BOOL)canPerformAction:(SEL)action withSender:(id)sender
{
if ( action == @selector(messageRep:) || action == @selector(messageCopy:)|| action == @selector(messageDel:)) {
return YES;
}
return NO;
}
-(BOOL) canBecomeFirstResponder{
return YES;
}
#pragma mark --UIAlertViewDelegate
-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
//删除
if (buttonIndex == 1) {
if (_delMessage) {
_delMessage(self.tag);
}
}
}
-(void)headImagePressed:(id)sender
{
[super routerEventWithName:kRouterEventChatHeadImageTapEventName userInfo:@{KMESSAGEKEY:self.messageModel}];
@@ -166,6 +166,7 @@ NSString *const kShouldResendCell = @"kShouldResendCell";
//已读
_hasRead = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, SEND_STATUS_SIZE, SEND_STATUS_SIZE)];
_hasRead.text = @"已读";
_hasRead.textColor = [UIColor lightGrayColor];
_hasRead.textAlignment = NSTextAlignmentCenter;
_hasRead.font = [UIFont systemFontOfSize:12];
[_hasRead sizeToFit];
@@ -27,7 +27,8 @@
#import "NSDateFormatter+Category.h"
#import "MessageReadManager.h"
#import "SRRefreshView.h"
#import "PersonalInfoViewController.h"
#import "AppDelegate.h"
#define KPageCount 20
@interface ChatMainViewController ()<UITableViewDelegate,UITableViewDataSource,DXMessageToolBarDelegate,LocationViewDelegate,UINavigationControllerDelegate, UIImagePickerControllerDelegate,DXChatBarMoreViewDelegate,EMCallManagerDelegate,EMCDDeviceManagerDelegate,EMChatManagerDelegate,SRRefreshDelegate>
@@ -124,6 +125,8 @@
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(keyBoardHidden)];
[self.view addGestureRecognizer:tap];
[self.tableView addSubview:self.slimeView];
@@ -257,7 +260,7 @@
}
}
EMChatVideo *chatVideo = [[EMChatVideo alloc] initWithFile:[mp4 relativePath] displayName:@"video.mp4"];
// [self sendVideoMessage:chatVideo];
[self sendVideoMessage:chatVideo];
}else{
UIImage *orgImage = info[UIImagePickerControllerOriginalImage];
@@ -457,7 +460,10 @@
cell.selectionStyle = UITableViewCellSelectionStyleNone;
}
cell.messageModel = model;
[cell setDelMessage:^(NSInteger index){
[self deleteMsgWithIndex:index];
}];
cell.tag = indexPath.row;
return cell;
}
}
@@ -557,10 +563,14 @@
}
MessageModel *model = [MessageModelManager modelWithMessage:message];
model.nickName = model.username;
if (model.isSender){
model.nickName = [AWordUser sharedInstance].userName;
model.headImageURL = [NSURL URLWithString:[AWordUser sharedInstance].userAvatar];
}else{
model.nickName = _otherUserName;
model.headImageURL = [NSURL URLWithString:_otherUserAvatar];
}
@@ -696,8 +706,12 @@
}
MessageModel *model = [MessageModelManager modelWithMessage:message];
model.nickName = model.username;
if (model.isSender) {
model.nickName = [AWordUser sharedInstance].userName;
}else{
model.nickName = _otherUserName;
}
if (model.isSender){
model.headImageURL = [NSURL URLWithString:[AWordUser sharedInstance].userAvatar];
}else{
@@ -781,7 +795,7 @@
}
- (void)didFetchingMessageAttachments:(EMMessage *)message progress:(float)progress{
NSLog(@"didFetchingMessageAttachment: %f", progress);
DLog(@"didFetchingMessageAttachment: %f", progress);
}
- (void)loadMoreMessages
{
@@ -867,6 +881,23 @@
}
});
}
- (void)didReceiveHasReadResponse:(EMReceipt *)resp;
{
for (int i=0; i<_dataSource.count; i++) {
MessageModel* message = [_dataSource objectAtIndex:i];
if ([message isKindOfClass:[NSString class]]) {
continue;
}
if ([message.messageId isEqualToString:resp.chatId]) {
[self.tableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:[NSIndexPath indexPathForRow:i inSection:0]] withRowAnimation:UITableViewRowAnimationFade];
break;
}
}
}
- (void)stopAudioPlayingWithChangeCategory:(BOOL)isChange
{
//停止音频播放及播放动画
@@ -945,6 +976,14 @@
[self.tableView endUpdates];
}else if([eventName isEqualToString:kRouterEventChatCellVideoTapEventName]){
[self chatVideoCellPressed:model];
}else if([eventName isEqualToString:kRouterEventChatHeadImageTapEventName]){
if ([_otherUserId isEqualToString:@"admin"]) {
return;
}
PersonalInfoViewController* personalInfoViewController = [[PersonalInfoViewController alloc] init];
personalInfoViewController.hidesBottomBarWhenPushed = YES;
personalInfoViewController.otherUserId = _otherUserId;
[[AppDelegate visibleViewController].navigationController pushViewController:personalInfoViewController animated:YES];
}
}
@@ -1150,6 +1189,32 @@
}
}
- (void)deleteMsgWithIndex:(NSInteger)index;
{
if (index > 0) {
MessageModel *model = [_dataSource objectAtIndex:index];
NSMutableIndexSet *indexs = [NSMutableIndexSet indexSetWithIndex:index];
[_conversation removeMessage:model.message];
[_messages removeObject:model.message];
NSMutableArray *indexPaths = [NSMutableArray arrayWithObjects:[NSIndexPath indexPathForRow:index inSection:0], nil];;
if (index - 1 >= 0) {
id nextMessage = nil;
id prevMessage = [_dataSource objectAtIndex:(index- 1)];
if (index + 1 < [_dataSource count]) {
nextMessage = [_dataSource objectAtIndex:(index + 1)];
}
if ((!nextMessage || [nextMessage isKindOfClass:[NSString class]]) && [prevMessage isKindOfClass:[NSString class]]) {
[indexs addIndex:index - 1];
[indexPaths addObject:[NSIndexPath indexPathForRow:(index - 1) inSection:0]];
}
}
[_dataSource removeObjectsAtIndexes:indexs];
[self.tableView beginUpdates];
[self.tableView deleteRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationFade];
[self.tableView endUpdates];
}
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
@@ -38,6 +38,21 @@
[MBProgressHUD errorHudWithView:nil label:@"请输入举报内容" hidesAfter:1.0];
return;
}
if (_msgId <= 0) {
[MBProgressHUD hudWithView:self.view label:@"举报中"];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, NSEC_PER_SEC*1.0), dispatch_get_main_queue(), ^{
[[NSNotificationCenter defaultCenter] postNotificationName:kLoginSuccessNotificationName object:nil];
[MBProgressHUD hideAllHUDsForView:self.view animated:YES];
[MBProgressHUD checkHudWithView:nil label:@"举报成功" hidesAfter:1.0];
[self.view endEditing:YES];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, NSEC_PER_SEC*1.0), dispatch_get_main_queue(), ^{
[self.navigationController popViewControllerAnimated:YES];
});
});
return;
}
[MBProgressHUD hudWithView:self.view label:@"举报中"];
PropertyEntity* pro = [LoginViewModel requireReportWith:_msgType withMsgId:_msgId withContent:_reportContentTextView.text];
[RequireEngine requireWithProperty:pro completionBlock:^(id viewModel) {
@@ -46,6 +61,7 @@
if ([loginViewModel success]) {
[[NSNotificationCenter defaultCenter] postNotificationName:kLoginSuccessNotificationName object:nil];
[self.view endEditing:YES];
[MBProgressHUD checkHudWithView:nil label:@"举报成功" hidesAfter:1.0];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, NSEC_PER_SEC*1.0), dispatch_get_main_queue(), ^{
@@ -10,7 +10,7 @@
#import "MessageListTableViewCell.h"
#import "ChatMainViewController.h"
#import "UserViewModel.h"
@interface MessageListViewController ()
@interface MessageListViewController ()<UIAlertViewDelegate>
{
NSInteger _page;
NSMutableArray* _dataArr;
@@ -26,11 +26,14 @@
// Do any additional setup after loading the view from its nib.
[self customViewDidLoad];
_userArr = [NSMutableArray array];
// _userArr = [NSMutableArray array];
self.navigationItem.title = @"消息列表";
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"清空列表" style:UIBarButtonItemStyleDone target:self action:@selector(clearList)];
self.tableView.delegate = self;
self.tableView.dataSource = self;
[self.tableView reloadData];
[self.tableView removeFooter];
}
@@ -41,9 +44,29 @@
-(void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
[self loadData];
[self headerBeginRefreshing];
}
-(void)clearList
{
UIAlertView* alertView = [[UIAlertView alloc] initWithTitle:@"确认清空" message:@"是否清空" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"清空", nil];
alertView.tag = 0;
[alertView show];
}
#pragma mark --UIAlertViewDelegate
-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
//删除
if (buttonIndex == 1) {
if ([[EaseMob sharedInstance].chatManager removeAllConversationsWithDeleteMessages:YES append2Chat:YES]) {
[_dataArr removeAllObjects];
[self.tableView reloadData];
}
}
}
-(void)headerRereshing
{
_page=1;
@@ -78,13 +101,18 @@
[RequireEngine requireWithProperty:pro completionBlock:^(id viewModel) {
if ([viewModel success]) {
[_userArr removeAllObjects];
_userArr = [NSMutableArray arrayWithArray:[(UserViewModel*)viewModel userBaseInfoArr]];
}else{
[_dataArr removeAllObjects];
// [MBProgressHUD errorHudWithView:self.view label:[viewModel errMessage] hidesAfter:1.0];
}
[self.tableView reloadData];
[self.tableView.header endRefreshing];
} failedBlock:^(NSError *error) {
[MBProgressHUD errorHudWithView:self.view label:kNetworkErrorTips hidesAfter:1.0];
[_dataArr removeAllObjects];
[self.tableView reloadData];
[self.tableView.header endRefreshing];
}];
@@ -142,6 +170,23 @@
return cell;
}
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {
return YES;
}
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
if (editingStyle == UITableViewCellEditingStyleDelete) {
EMConversation* conversation = [_dataArr objectAtIndex:indexPath.row];
if ( [[EaseMob sharedInstance].chatManager removeConversationByChatter:conversation.chatter deleteMessages:YES append2Chat:YES]) {
[_dataArr removeObjectAtIndex:indexPath.row];
// Delete the row from the data source.
[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
}
}
}
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[tableView deselectRowAtIndexPath:indexPath animated:YES];