SQMessages 0.0.7

SQMessages 0.0.7

semnyqu 维护。



 
依赖
HexColors~> 2.3.0
Masonry~> 1.1.0
MarqueeLabel~> 3.1.3
NSHash~> 1.2.0
 

  • semnyqu

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 7 Error

iOS 7 Message

iOS 6 设计

Warning

Success

Error

Message

许可证

SQMessages 可在 MIT 许可证下使用。有关更多信息,请参阅 LICENSE 文件。

最近更改

可以在本仓库的发布版部分找到。