这个库提供了一个易于使用的类,用于在屏幕顶部显示小的通知视图。(类似于 Tweetbot)。
通知从屏幕顶部移动到导航栏下方并停留几秒钟,具体取决于显示文本的长度。要提前在时间用尽前删除通知,用户可以将其向上滑动或直接点击。
已经为你设置了4种不同的类型:成功,错误,警告,消息(查看截图)
要添加新的通知类型并使用不同的设计,只需将新的类型添加到 notificationType 枚举中,将所需的设计属性添加到配置文件中,并在 TSMessagesView.m 中的 switch case 中设置主题的名称(用于配置文件和图片)。
查看示例项目以了解如何使用此库。您必须打开工作区,而不是项目文件,因为示例项目使用 cocoapods。
关注开发者 Twitter: KrauseFx (Felix Krause)
将 TSMessageView 和 TSMessage 文件复制到你的项目中。同时也将 TSMessagesDesignDefault.json 复制过去。
要显示通知,请使用以下代码
[TSMessage showNotificationWithTitle:@"Your Title"
subtitle:@"A description"
type:TSMessageNotificationTypeError];
// Add a button inside the message
[TSMessage showNotificationInViewController:self
title:@"Update available"
subtitle:@"Please update the app"
image:nil
type:TSMessageNotificationTypeMessage
duration:TSMessageNotificationDurationAutomatic
callback:nil
buttonTitle:@"Update"
buttonCallback:^{
NSlog(@"User tapped the button");
}
atPosition:TSMessageNotificationPositionTop
canBeDismissedByUser:YES];
// Use a custom design file
[TSMessage addCustomDesignFromFileWithName:@"AlternativeDesign.json"];
你可以定义一个默认视图控制器,在其中的视图中显示通知
[TSMessage setDefaultViewController:myNavController];
你可以定义一个默认视图控制器,在其中的视图中显示通知
[TSMessage setDelegate:self];
...
- (CGFloat)messageLocationOfMessageView:(TSMessageView *)messageView
{
return messageView.viewController...; // any calculation here
}
你可以在视图显示之前自定义消息视图,如设置透明度值或在其中添加自定义子视图
[TSMessage setDelegate:self];
...
- (void)customizeMessageView:(TSMessageView *)messageView
{
messageView.alpha = 0.4;
[messageView addSubview:...];
}
在创建新通知时,可以设置以下属性
除了标题和通知类型外,所有其他列出的值都是可选的
如果你不想有详细描述(标题下的文本),则不需要设置。通知将自动正确调整大小。
iOS 7 设计
iOS 6 设计
TSMessages 可在 MIT 许可证下使用。更多信息请参阅 LICENSE 文件。
可以在本仓库的 发布部分 中找到。