Skip to content
This repository was archived by the owner on Feb 8, 2023. It is now read-only.

Commit fc35d4b

Browse files
author
HarriesChen
committed
sendnewmessage
1 parent 5437b46 commit fc35d4b

9 files changed

+120
-160
lines changed

MessageKit.xcodeproj/project.pbxproj

+90-86
Large diffs are not rendered by default.

MessageKit.xcodeproj/xcshareddata/xcschemes/MessageKit.xcscheme

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
skipped = "NO">
3434
<BuildableReference
3535
BuildableIdentifier = "primary"
36-
BlueprintIdentifier = "E5C440501C8EE20600E40000"
36+
BlueprintIdentifier = "E5DB76441C8FD040006B599B"
3737
BuildableName = "MessageKitTests.xctest"
3838
BlueprintName = "MessageKitTests"
3939
ReferencedContainer = "container:MessageKit.xcodeproj">

MessageKit.xcodeproj/xcshareddata/xcschemes/MessageKitTests.xcscheme

-57
This file was deleted.

MessageKit/FileBubbleView.swift

+11-1
Original file line numberDiff line numberDiff line change
@@ -55,11 +55,18 @@ public final class FileBubbleView: UIView, MaximumLayoutWidthSpecificable, Backg
5555
private lazy var folderIconView: UIView = {
5656
let iconView = UIView()
5757
iconView.addSubview(self.coverImageView)
58+
iconView.addSubview(self.typeLabel)
5859
return iconView
5960
}()
6061

6162
private var borderImageView: UIImageView = UIImageView()
6263
private var coverImageView: UIImageView = UIImageView()
64+
private lazy var typeLabel: UILabel = {
65+
let typeLabel = UILabel()
66+
typeLabel.font = UIFont.systemFontOfSize(10)
67+
typeLabel.textColor = UIColor.whiteColor()
68+
return typeLabel
69+
}()
6370
private var titleLabel: UILabel = UILabel()
6471
private var sizeLabel: UILabel = UILabel()
6572

@@ -120,6 +127,8 @@ public final class FileBubbleView: UIView, MaximumLayoutWidthSpecificable, Backg
120127
self.sizeLabel.text = viewModel.fileSize
121128
self.sizeLabel.font = fileMessageStyle.textFont(viewModel: viewModel, isSelected: self.selected)
122129
self.sizeLabel.sizeToFit()
130+
self.typeLabel.text = "PSD"
131+
self.typeLabel.sizeToFit()
123132
self.setNeedsLayout()
124133
}
125134

@@ -138,6 +147,7 @@ public final class FileBubbleView: UIView, MaximumLayoutWidthSpecificable, Backg
138147
self.borderImageView.bma_rect = self.bubbleImageView.bounds
139148
self.titleLabel.bma_rect = CGRect(origin: layout.fileTitleLabelFrame, size: titleLabel.frame.size)
140149
self.sizeLabel.bma_rect = CGRect(origin: layout.fileSizeLabelFrame, size: sizeLabel.frame.size)
150+
self.typeLabel.center = self.coverImageView.center
141151
}
142152

143153
private func calculateFileBubbleLayout(maximumWidth maximumWidth: CGFloat) -> FileBubbleLayoutModel {
@@ -182,7 +192,7 @@ private class FileBubbleLayoutModel {
182192
currentX += 15
183193
folderIconFrame.origin.x = currentX
184194
currentX += folderIconFrame.size.width
185-
currentX += 10
195+
currentX += 8
186196
fileTitleLabelFrame.x = currentX
187197
fileSizeLabelFrame.x = currentX
188198

MessageKit/FileMessageCollectionViewCellDefaultStyle.swift

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public class FileMessageCollectionViewCellDefaultStyle: FileMessageCollectionVie
2727
}()
2828

2929
lazy var titleFont = {
30-
return UIFont.systemFontOfSize(17)
30+
return UIFont.systemFontOfSize(16)
3131
}()
3232

3333
lazy var textFont = {

MessageKit/MessageDataSourceProtocol.swift

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ public protocol MessageDataSourceProtocol: class {
1616

1717
var hasMoreNext: Bool { get }
1818
var hasMorePrevious: Bool { get }
19-
var messageItems: [MessageItemProtocol] { get }
19+
var messageItems: [MessageItemProtocol] { get set }
2020
weak var delegate: MessageDataSourceDelegateProtocol? { get set }
2121

2222
func loadNext(completion: () -> Void)

MessageKit/MessageViewController.swift

+4-6
Original file line numberDiff line numberDiff line change
@@ -57,12 +57,10 @@ public class MessageViewController: UIViewController, UICollectionViewDataSource
5757
}
5858

5959
public func sendNewMessage(message: MessageItemProtocol) {
60-
61-
// var newItem = messageDataSource?.messageItems
62-
// newItem?.append(message)
63-
// let newDataSource = messageDataSource
64-
//
65-
//
60+
var newItem = self.messageDataSource?.messageItems
61+
newItem?.append(message)
62+
self.messageDataSource?.messageItems = newItem!
63+
enqueueModelUpdate(context: .Normal)
6664
}
6765

6866

MessageKitDemo/MessageKitDemo/ViewController.swift

+11-6
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ class ViewController: MessageViewController {
173173
let photoMessageModelIncoming = PhotoMessageModel(messageModel: baseMessageModel, imageSize: CGSize(width: 300, height: 600), image: UIImage(named: "hujiang")!)
174174
source.append(photoMessageModelIncoming)
175175
} else {
176-
let fileMessageModel = FileMessageModel(messageModel: baseMessageModel, fileName: "测试文件的的.txt", fileSize: "30M", fileFolderColor: UIColor.redColor())
176+
let fileMessageModel = FileMessageModel(messageModel: baseMessageModel, fileName: "iPad Design.psd", fileSize: "30M", fileFolderColor: UIColor.redColor())
177177
source.append(fileMessageModel)
178178
}
179179
}
@@ -226,14 +226,19 @@ class ViewController: MessageViewController {
226226
"你真的很好嘛?"
227227
]
228228

229+
230+
229231
let dataSource = FakeDataSource()
230232
var items = self.messageDataSource?.messageItems
231-
let messageModel = MessageModel(uid: "dsfsdf", senderId: "dsfsdf", type: "text-message", isIncoming: true, date: NSDate(), status: .Success)
233+
let messageModel = MessageModel(uid: "dsfsdf\(Int(arc4random() % 300))", senderId: "dsfsdf", type: "text-message", isIncoming: true, date: NSDate(), status: .Success)
232234
let textMessageModel = TextMessageModel(messageModel: messageModel, text: "dsfsdfsdfsdfsdf\(a[randomNumber])")
233-
items?.append(textMessageModel)
234-
dataSource.messageItems = items!
235-
dataSource.delegate = self
236-
self.messageDataSource = dataSource
235+
236+
sendNewMessage(textMessageModel)
237+
238+
// items?.append(textMessageModel)
239+
// dataSource.messageItems = items!
240+
// dataSource.delegate = self
241+
// self.messageDataSource = dataSource
237242
}
238243

239244
}

MessageKitTests/MessageKitTests.swift

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
// MessageKitTests.swift
33
// MessageKitTests
44
//
5-
// Created by ChenHao on 16/3/8.
5+
// Created by ChenHao on 16/3/9.
66
// Copyright © 2016年 HarriesChen. All rights reserved.
77
//
88

0 commit comments

Comments
 (0)