[开源]在iOS上实现Android风格的控件Toast
2013-07-02 11:32
288 查看
[开源]在iOS上实现Android风格的控件Toast
iOS的风格和Apple其他产品一样,简单而粗暴。没有给人其他选择的余地,让你又爱又恨。同样的,Apple对待iOS平台的开发人员和对待大众消费者一样,也不给你留余地。UIAlertView就是一个鲜明标志。功能简单,甚至单一,定制性差,消耗资源。在资源紧张的设备上,UIAlertView的动画效果都会稍微卡一下,很是别扭。这时还是很希望在iOS上有一个Android风格的Toast控件。
终于http://code.google.com/p/toast-notifications-ios/发布了这样的控件。在这里和大家分享一下。
我制作了一个demo,使用起来感觉效果还是很不错的。
这个类的接口设计如下:
#import <Foundation/Foundation.h> #import <UIKit/UIKit.h> typedef enum iToastGravity { iToastGravityTop = 1000001, iToastGravityBottom, iToastGravityCenter }iToastGravity; enum iToastDuration { iToastDurationLong = 10000, iToastDurationShort = 1000, iToastDurationNormal = 3000 }iToastDuration; typedef enum iToastType { iToastTypeInfo = -100000, iToastTypeNotice, iToastTypeWarning, iToastTypeError }iToastType; @class iToastSettings; @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 ===The interface of the SharedSettings === @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 makeText:NSLocalizedString(@"The activity has been successfully saved.", @"")] show]; |
[[[iToast makeText:NSLocalizedString(@"The activity has been successfully saved.", @"")] setGravity:iToastGravityBottom] show]; |
[[[[iToast makeText:NSLocalizedString(@"Something to display a very long time", @"")] setGravity:iToastGravityBottom] setDuration:iToastDurationLong] show]; |
相关文章推荐
- [开源]在iOS上实现Android风格的控件Toast
- [开源]在iOS上实现Android风格的控件Toast
- [开源]在iOS上实现Android风格的控件Toast 推荐
- [开源]在iOS上实现Android风格的控件Toast
- [开源]在iOS上实现Android风格的控件Toast
- [开源]在iOS上实现Android风格的控件Toast
- [开源]在iOS上实现Android风格的控件Toast
- [开源]在iOS上实现Android风格的控件Toast
- 在iOS上实现Android风格的控件Toast
- 在iOS上实现Android风格的控件Toast
- (ios实战)实现类似于android 的toast控件
- (ios实战)实现类似于android 的toast控件
- 如何在iOS上实现Android风格的提示信息Toast
- Android仿IOS的AssistiveTouch的控件EasyTouch实现
- Android自定义加载等待弹窗控件(仿ios效果实现)
- (转)android底部弹出iOS7风格对话选项框(QQ对话框)--第三方开源--IOS_Dialog_Library
- Android自定义View仿IOS选择控件Togglebutton实现
- Android 实现 IOS相机滑动控件
- Android仿IOS的AssistiveTouch的控件EasyTouch实现
- 【Android常用控件】Toast的几种效果实现(附源码)