SQMessages
此库提供了一种易于使用的类来在屏幕顶部显示小通知视图。
通知从屏幕顶部移动到导航栏下方,并保持几秒钟,具体时间取决于显示文本的长度。要提前取消通知,用户可以将其向上滑动或直接点击。
已为您设置 4 种不同的类型:成功、错误、警告、消息(请查看截图)
添加新的通知类型非常简单,只需以不同的设计添加新类型到通知类型枚举,将所需的设计属性添加到配置文件,并在 SQMessagesView.m 中的 switch case 内设置主题名称(在配置文件和图像中使用)。
请查看示例项目,了解如何使用此库。 由于示例项目使用 cocoa pods,您必须打开工作空间,而不是项目文件。
安装
从 CocoaPods
SQMessages 通过 CocoaPods 提供。要安装它,只需将以下行添加到 Podfile 中。
pod "SQMessages"
手动方式
将 SQMessageView 和 SQMessage 文件以及 SQMessagesDesignDefault.json 复制到您的项目中。
使用方法
要显示通知,请使用以下代码
[SQMessage showNotificationWithTitle:@"Your Title"
subtitle:@"A description"
type:SQMessageNotificationTypeError];
// Add a button inside the message
[SQMessage showNotificationInViewController:self
title:@"Update available"
subtitle:@"Please update the app"
image:nil
type:SQMessageNotificationTypeMessage
duration:SQMessageNotificationDurationAutomatic
callback:nil
buttonTitle:@"Update"
buttonCallback:^{
NSLog(@"User tapped the button");
}
atPosition:SQMessageNotificationPositionTop
canBeDismissedByUser:YES];
// Use a custom design file
[SQMessage addCustomDesignFromFileWithName:@"AlternativeDesign.json"];
您可以定义一个默认视图控制器,其中通知将显示
[SQMessage setDefaultViewController:myNavController];
您可以定义一个默认视图控制器,其中通知将显示
[SQMessage setDelegate:self];
...
- (CGFloat)messageLocationOfMessageView:(SQMessageView *)messageView
{
return messageView.viewController...; // any calculation here
}
您可以在消息显示之前自定义消息视图,例如设置透明度值,或添加自定义子视图
[SQMessage setDelegate:self];
...
- (void)customizeMessageView:(SQMessageView *)messageView
{
messageView.alpha = 0.4;
[messageView addSubview:...];
}
您可以使用 UIAppearance 自定义消息视图元素
#import <SQMessages/SQMessageView.h>
@implementation TSAppDelegate
....
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
//If you want you can overidde some properties using UIAppearance
[[SQMessageView appearance] setTitleFont:[UIFont boldSystemFontOfSize:6]];
[[SQMessageView appearance] setTitleTextColor:[UIColor redColor]];
[[SQMessageView appearance] setContentFont:[UIFont boldSystemFontOfSize:10]];
[[SQMessageView appearance]setContentTextColor:[UIColor greenColor]];
[[SQMessageView appearance]setErrorIcon:[UIImage imageNamed:@"NotificationButtonBackground"]];
[[SQMessageView appearance]setSuccessIcon:[UIImage imageNamed:@"NotificationButtonBackground"]];
[[SQMessageView appearance]setMessageIcon:[UIImage imageNamed:@"NotificationButtonBackground"]];
[[SQMessageView appearance]setWarningIcon:[UIImage imageNamed:@"NotificationButtonBackground"]];
//End of override
return YES;
}
在创建新通知时可以设置以下属性
- viewController:要显示通知的视图控制器。这可能是指南控制器。
- 标题:通知视图的标题
- 副标题:标题下显示的文本(可选)
- 图像:用于替代默认图像的自定义图标图像(可选)
- 类型:通知类型(消息、警告、错误、成功)
- 持续时间:通知显示的持续时间
- 回调:当用户通过点击或拖动到顶部来取消消息时,应执行的块。
除了标题和通知类型外,所列值均为可选
如果您不希望有详细描述(标题下方的文本),则不必设置。通知将自动正确调整大小。
截图
iOS 7 设计
iOS 6 设计
许可证
SQMessages 可在 MIT 许可证下使用。有关更多信息,请参阅 LICENSE 文件。
最近更改
可以在本仓库的发布版部分找到。