一个简易的Toast显示

这个简易的UIview扩展,能让你快速在屏幕上显示一个带内容、图片、标题的Toast,并且能简单地设置Toast位置等信息。

想直接看代码略过文章的,点这里github地址

事不宜迟,赶紧来看效果

  • 只有Toast文字
[self.view OYQ_makeToast:@"Toast内容"];
基础Toast.gif
  • 带标题的Toast
[self.view OYQ_makeToast:@"Toast内容"
                   title:@"标题" 
                duration:3.0f 
           toastPosition:OYQToastPositionDefault 
                   image:nil 
           imagePosition:OYQImagePositionDefault];
基础+标题Toast.gif
  • 带图片的Toast
[self.view OYQ_makeToast:@"Toast内容" 
                     title:nil 
                  duration:3.0f 
             toastPosition:OYQToastPositionBottom 
                     image:[UIImage imageNamed:@"wechatLogo"] 
             imagePosition:OYQImagePositionDefault];
基础+图片Toast.gif
  • 带图片和标题的Toast
[self.view OYQ_makeToast:@"Toast内容" 
                     title:@"标题" 
                  duration:3.0f 
             toastPosition:OYQToastPositionDefault 
                     image:[UIImage imageNamed:@"wechatLogo"] 
             imagePosition:OYQImagePositionDefault];
基础+标题+图片Toast.gif

嗯,很帅🙊, 还能控制图片的位置哦

[self.view OYQ_makeToast:@"Toast内容" 
                   title:@"标题" 
                duration:3.0f 
           toastPosition:OYQToastPositionDefault 
                   image:[UIImage imageNamed:@"wechatLogo"] 
           imagePosition:OYQImagePositionTop];
基础+标题+图片在上方显示Toast.gif

使用方法此扩展中使用了两个枚举值来控制Toast的显示位置和图片的位置

控制Toast显示位置

typedef NS_ENUM(NSInteger, OYQToastPosition){ 
    OYQToastPositionDefault = 0,    //居中显示 
    OYQToastPositionBottom = 1, //下方显示 
    OYQToastPositionTop = 2 //上方显示
};

控制图片的位置

typedef NS_ENUM(NSInteger, OYQImagePosition){
    OYQImagePositionDefault = 0,    //左方显示 
    OYQImagePositionRight = 1,  //右方显示 
    OYQImagePositionBottom = 2, //下方显示 
    OYQImagePositionTop = 3 //上方显示
};

暴露了三个显示接口

/** 
 创建纯文字的Toast,默认延时toastDuration秒,在下方显示 
 @param message 需要显示的文字 
 @return 返回Toast
*/
- (UIView *)OYQ_makeToast:(NSString *)message;

/** 
 创建纯文字的Toast,延时duration秒,显示位置position 
 @param message 显示的文字 
 @param duration 延时时间
 @param position 显示位置OYQToastPosition 
 @return 返回Toast 
*/
- (UIView *)OYQ_makeToast:(NSString *)message 
                 duration:(float)duration 
                 position:(OYQToastPosition)position;

/** 
创建带图片、标题、内容的toast,延时duration秒,toast显示位置position,图片位置imagePosition
 @param message 显示的文字 
 @param title Toast标题 
 @param duration 延时时间 
 @param toastPosition Toast位置 
 @param image 显示图片 
 @param imagePosition 图片在Toast的位置 
 @return 返回Toast 
*/
- (UIView *)OYQ_makeToast:(NSString *)message 
                    title:(NSString *)title 
                 duration:(float)duration 
            toastPosition:(OYQToastPosition)toastPosition 
                    image:(UIImage *)image 
            imagePosition:(OYQImagePosition)imagePosition;

其中,需要注意的是,message不能为空,否则会触发NSAssert异常。(如果为空的话还有什么显示的必要呢?)。title和image参数为空即不显示标题或者图片。

想了解更多效果,可以下载Demo(厚着脸皮要个Star),或者直接在下面留言哦!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容