测试已测试 | ✗ |
语言语言 | Obj-CObjective C |
许可证 | MIT |
发布时间最后发布 | 2016年1月 |
由 Jesse Squires 维护。
iPhone 和 iPad 的消息 UI。
JSMessagesViewController
是一个 UIViewController
子类,与 iOS Messages 应用非常相似。
在 Screenshots/
目录中查看更多 截图。
JSMessagesViewController/
文件夹拖到您的项目中QuartzCore.framework
添加到您的项目中-fobjc-arc
编译器标志添加到您的项目中的所有源文件。你的模型对象应遵循JSMessageData
协议。但是,如果您愿意,可以使用提供的JSMessage
类来用于您的模型对象。
JSMessagesViewController
<JSMessagesViewDelegate, JSMessagesViewDataSource>
协议JSMessagesViewDelegate
协议JSMessagesViewDataSource
协议tableView: numberOfRows:
方法,该方法来自UITableViewDataSource
协议。viewDidLoad
如下- (void)viewDidLoad
{
self.delegate = self;
self.dataSource = self;
[super viewDidLoad];
[[JSBubbleView appearance] setFont:/* your font for the message bubbles */];
self.title = @"Your view controller title";
self.messageInputView.textView.placeHolder = @"Your placeholder text";
self.sender = @"Username of sender";
}
程序化或通过Storyboard显示您派生的视图控制器。您的派生应该是UINavigationController
的rootViewController
,或者已现有的导航堆栈上传递。
显示您的视图时,您可能想显示最新消息:(这不是默认行为)
// Scroll to the most recent message before view appears
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
[self scrollToBottomAnimated:NO];
}
JSMessagesDemo.xcworkspace
。打开前不要忘记运行pod install
!文档可通过此处通过CocoaDocs获得。感谢@CocoaDocs!
通过Square Cash支持此开源
控制库的开发。
configureCell: atIndexPath:
来定制单元格的几乎所有属性。- (void)configureCell:(JSBubbleMessageCell *)cell atIndexPath:(NSIndexPath *)indexPath
{
if ([cell messageType] == JSBubbleMessageTypeOutgoing) {
// Customize any UITextView properties
cell.bubbleView.textView.textColor = [UIColor whiteColor];
if ([cell.bubbleView.textView respondsToSelector:@selector(linkTextAttributes)]) {
NSMutableDictionary *attrs = [cell.bubbleView.textView.linkTextAttributes mutableCopy];
[attrs setValue:[UIColor blueColor] forKey:UITextAttributeTextColor];
cell.bubbleView.textView.linkTextAttributes = attrs;
}
}
// Customize any UILabel properties for timestamps or subtitles
if (cell.timestampLabel) {
cell.timestampLabel.textColor = [UIColor lightGrayColor];
cell.timestampLabel.shadowOffset = CGSizeZero;
}
if (cell.subtitleLabel) {
cell.subtitleLabel.textColor = [UIColor lightGrayColor];
}
// Enable data detectors
cell.bubbleView.textView.dataDetectorTypes = UIDataDetectorTypeAll;
}
UIAppearance
来设置您消息气泡的字体。[[JSBubbleView appearance] setFont:[UIFont systemFontOfSize:16.0f]];
使用 JSBubbleImageViewFactory
定制您的消息气泡。
使用 JSAvatarImageFactory
定制您的头像。
请遵循这些甜蜜的 贡献指南。
由 @jesse_squires 创建,编程的混蛋。
使用 @0xced / iOS-Artwork-Extractor 提取资源。
最初灵感来自 @soffes / SSMessagingViewController。
感谢本项目所有 贡献者。
由 @michaelschultz 设计的方形消息气泡。
我最初为在 Hemoglobe 的用户之间发送私密消息而开发这个控件。
出乎意料的是,消息传递是iOS开发和用户都希望拥有的流行功能。因此,我在业余时间支持这个项目,并添加了很多Hemoglobe从未需要的功能。
查看我的其他作品 Hexed Bits。
联系我,以您的应用在此列出。
您可以根据您的要求自由使用此软件。 无需归功,但非常感激。
版权所有 © 2013 Jesse Squires
本软件及关联文档(以下简称“软件”)的使用,经授予无条件的许可,任何获得本软件副本的个人可以不受限制地处理该软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可以及/或销售软件副本,并允许将软件提供给他人进行上述操作,但需遵守以下条件
上述版权声明和本许可声明应包含在软件的任何副本或实质部分中。
软件按“原样”提供,不接受任何形式的担保,无论是明示的、暗示的还是其他形式的担保,包括但不限于适销性、适用于特定目的和不侵犯知识产权的担保。在任何情况下,作者或版权所有者不对任何索赔、损害或任何其他责任负责,无论因合同行为、侵权行为或其他原因产生,无论与软件本身、使用或对软件的任何其他操作有关。