MessageBarManager 1.1.0

MessageBarManager 1.1.0

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布时间最后发布2014年12月

未知用户 维护。



  • 作者
  • Terry Worona

一个 iOS 管理器,用于通过下拉消息栏显示全局通知。

要求

  • 需要 iOS 6.1 或更高版本
  • 需要自动引用计数 (ARC)

作者

Terry Worona

给我发推文 @terryworona

给我发邮件至 [email protected]

安装

CocoaPods 是推荐安装 MessageBarManager 的方法。

Pod 方法

只需将以下行添加到您的 Podfile

pod 'MessageBarManager'

您的 podfile 应该看起来像这样

platform :ios, '6.1'
pod 'JBChartView', '~> 1.1.0'

老方法

使用 MessageBarManager 的最简单方法是将其 /Classes 文件夹拖到您的 Xcode 5 项目中。还建议您将 /Classes 文件夹重命名为更具描述性的名称(例如 "MessageBarManager")。

用法

调用管理器

作为单例类,您可以通过 + sharedInstance 函数从应用程序内的任何地方访问管理器

[MessageBarManager sharedInstance]

显示基本消息

所有消息都可以通过 showMessageWithTitle:description:type: 进行显示。其他参数包括持续时间和回调块,以便在用户触摸时通知。

基本消息

[[MessageBarManager sharedInstance] showMessageWithTitle:@"Account Updated!"
                                             description:@"Your account was successfully updated."
                                                    type:MessageBarMessageTypeSuccess];

默认显示持续时间为 3 秒。您可以通过提供额外的参数来覆盖此值

[[MessageBarManager sharedInstance] showMessageWithTitle:@"Account Updated!"
                                             description:@"Your account was successfully updated."
                                                    type:MessageBarMessageTypeSuccess
                                             forDuration:6.0];

回调

默认情况下,如果用户 触摸 消息时正在显示,它会自动消失。为了通知触摸,只需提供一个回调块

[[MessageBarManager sharedInstance] showMessageWithTitle:@"Account Updated!"
                                             description:@"Your account was successfully updated."
                                                    type:MessageBarMessageTypeSuccess callback:^{
                                                        NSLog(@"Message bar tapped!");
}];

队列

此管理器后端有一个可以处理无限数量的顺序请求的队列。您可以在堆栈上堆叠尽可能多的消息,并且它们将依次显示

[[MessageBarManager sharedInstance] showMessageWithTitle:@"Message 1"
                                             description:@"Description 1"
                                                    type:MessageBarMessageTypeSuccess];

[[MessageBarManager sharedInstance] showMessageWithTitle:@"Message 2"
                                             description:@"Description 2"
                                                    type:MessageBarMessageTypeError];

[[MessageBarManager sharedInstance] showMessageWithTitle:@"Message 3"
                                             description:@"Description 3"
                                                    type:MessageBarMessageTypeInfo];

自定义

MessageBarStyleSheet 包含与背景和线条颜色以及图标图像相关的功能。所有这些功能都可以被继承和/或直接修改来自定义消息栏的外观和感觉。

+ (UIColor*)backgroundColorForMessageType:(MessageBarMessageType)type;
+ (UIColor*)strokeColorForMessageType:(MessageBarMessageType)type;
+ (UIImage*)iconImageForMessageType:(MessageBarMessageType)type;

新类型

将新类型添加到在 MessageBarManager.h 中找到的 typedef。

typedef enum {
    MessageBarMessageTypeError,
    MessageBarMessageTypeSuccess,
    MessageBarMessageTypeInfo,
    MessageBarMessageTypeWarning // new type for warnings
} MessageBarMessageType;

将新颜色和图标添加到样式表中

+ (UIColor*)backgroundColorForMessageType:(MessageBarMessageType)type
{
    UIColor *backgroundColor = nil;
    switch (type) {

        …

        case MessageBarMessageTypeWarning:
            backgroundColor = [UIColor grayColor]; // warnings to be gray background
            break;
        default:
            break;
    }
    return backgroundColor;
}

+ (UIColor*)strokeColorForMessageType:(MessageBarMessageType)type
{
    UIColor *strokeColor = nil;
    switch (type) {

        …

        case MessageBarMessageTypeWarning:
            strokeColor = [UIColor darkGrayColor];
            break;
        default:
            break;
    }
    return strokeColor;
}

+ (UIImage*)iconImageForMessageType:(MessageBarMessageType)type
{
    UIImage *iconImage = nil;
    switch (type) {

        …

        case MessageBarMessageTypeWarning:
            iconImage = [UIImage imageNamed:@"icon-warning.png"]; // warning icon
            break;
        default:
            break;
    }
    return iconImage;
}

使用消息类型显示新消息

[[MessageBarManager sharedInstance] showMessageWithTitle:@"Account Warning!"
                                             description:@"Your account has expired!"
                                                    type:MessageBarMessageTypeWarning];

许可

使用按照 MIT 许可。详见 LICENSE 以获取详细信息。