YQIToast 0.0.5

YQIToast 0.0.5

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布最后发布2016年3月

yuyedaidao 维护。



YQIToast 0.0.5

  • yuyedaidao

iToast

iToast 的 ARC 版本,在此版本上进行了修改: https://github.com/ecstasy2/toast-notifications-ios 增加了一些自定义方法。

什么是 iToast

本页面介绍了什么是 Toast 通知以及为什么您可能在您的 iPhone/iPad 应用程序中需要它们。


如果您已经为 Android 开发,那么您知道它是什么,因此可以跳到下一部分。

对于我们其他人:Toast 是向用户显示‘非侵入性’消息的一种特殊方式。这些消息在屏幕的可配置位置显示,并在可配置的时间间隔后消失。它们显示的方式类似于在 Mac 上使用的 Growl 应用程序。

与 Android 上的 Toast 的区别

  • 即使在配置的时间未到达时,如果用户触摸,iToast 也会消失。
  • iToast 可以附带图像图标(信息、警告、错误)。
  • 有一个适用于整个应用程序的配置对象,您可以使用它来确保所有的 iToast 都看起来一样。
  • 我们正在计划添加一个基于插件的系统,这样我们可以提供许多样式而不是默认样式。
  • iToast 宣传方法的链式调用,这样您就可以通过单个指令创建任何具有任何配置的 Toast。

使用 Toast 的好处

一些好处包括

  • 用户不会被此类警报分散注意力,只需注意到它们:他不点击“确定”。作为一般规则,我们现在在所有地方都使用 iToast,而不是只有按钮的 UIAlertView。
  • 您可以根据 iToast 的重要性将其添加到屏幕上的任何位置。当它为中等重要性时,我们使用带有 Top 重力的显示;当它非常重要时,我们使用 Center;当它较低重要时,我们使用 Bottom。 # 如何使用 iToast。

简单用法

创建 iToast 的方法只有一种:因此,您不需要保留太多。在其基本形式中,您可以这样创建一个 iToast

[[iToast makeText:NSLocalizedString(@"The activity has been successfully saved.", @"")] show];

链式调用

与jQuery类似,您可以通过使用show方法进行链式调用并终止,有许多可配置项。请看下文。

[[[iToast makeText:NSLocalizedString(@"The activity has been successfully saved.", @"")] 
            setGravity:iToastGravityBottom] show];

注意:上方的重力可以是以下任意一种:iToastGravityBottomiToastGravityTopiToastGravityCenter

  • 您还可以提供屏幕上的物理位置:请查看类接口。
  • 您可以提供两个偏移值,它们将添加到iToast的实际位置:您可以使用这个功能将iToast向左(负offsetLeft)、向右(正offsetLeft)、向上或向下移动几个像素。

或者

[[[[iToast makeText:NSLocalizedString(@"Something to display a very long time", @"")] 
                    setGravity:iToastGravityBottom] setDuration:iToastDurationLong] show];

注意:上方的持续时间可以是任意整数(显示时的毫秒数)。您可以使用三种预设的持续时间

  • iToastDurationLong
  • iToastDurationShort
  • iToastDurationNormal

接口

@interface iToast : NSObject {
    iToastSettings *_settings;
    NSInteger offsetLeft;
    NSInteger offsetTop;

    NSTimer *timer;

    UIView *view;
    NSString *text;
}

- (void) show;

- (iToast *) setDuration:(NSInteger ) duration;
- (iToast *) setGravity:(iToastGravity) gravity 
             offsetLeft:(NSInteger) left
             offsetTop:(NSInteger) top;
- (iToast *) setGravity:(iToastGravity) gravity;
- (iToast *) setPostion:(CGPoint) position;

+ (iToast *) makeText:(NSString *) text;

-(iToastSettings *) theSettings;

@end

共享设置

每次想要显示iToast时,您不需要设置所有设置。有一个共享设置的仓库,每个iToast在首次创建时都会复制其设置。

要修改共享设置,您首先获取共享设置

iToastSettings *theSettings = [iToastSettings getSharedSettings];

然后更改设置

theSettings.duration = 4000;

共享设置的接口

 @interface iToastSettings : NSObject<NSCopying>{
NSInteger duration;
iToastGravity gravity;
CGPoint postition;
iToastType toastType;

NSDictionary *images;

BOOL positionIsSet;
}


@property(assign) NSInteger duration;
@property(assign) iToastGravity gravity;
@property(assign) CGPoint postition;
@property(readonly) NSDictionary *images;


- (void) setImage:(UIImage *)img forType:(iToastType) type;
+ (iToastSettings *) getSharedSettings;

@end

尚未实现

您对这些功能感兴趣吗?编写代码并与社区分享。

  • 根据iToast的类型显示图标。
  • 基于插件的接口来自定义Toast。

表达您的感激

一些人已经请求了这个功能,所以现在这里有一个:Flattr按钮。

Flattr this

结束。