iToast 的 ARC 版本,在此版本上进行了修改: https://github.com/ecstasy2/toast-notifications-ios 增加了一些自定义方法。
本页面介绍了什么是 Toast 通知以及为什么您可能在您的 iPhone/iPad 应用程序中需要它们。
如果您已经为 Android 开发,那么您知道它是什么,因此可以跳到下一部分。
对于我们其他人:Toast 是向用户显示‘非侵入性’消息的一种特殊方式。这些消息在屏幕的可配置位置显示,并在可配置的时间间隔后消失。它们显示的方式类似于在 Mac 上使用的 Growl 应用程序。
一些好处包括
创建 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];
注意:上方的重力可以是以下任意一种:iToastGravityBottom
、iToastGravityTop
、iToastGravityCenter
。
或者
[[[[iToast makeText:NSLocalizedString(@"Something to display a very long time", @"")]
setGravity:iToastGravityBottom] setDuration:iToastDurationLong] show];
注意:上方的持续时间可以是任意整数(显示时的毫秒数)。您可以使用三种预设的持续时间
@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
您对这些功能感兴趣吗?编写代码并与社区分享。
一些人已经请求了这个功能,所以现在这里有一个:Flattr按钮。
结束。