这个简易的UIview扩展,能让你快速在屏幕上显示一个带内容、图片、标题的Toast,并且能简单地设置Toast位置等信息。
想直接看代码略过文章的,点这里github地址。
事不宜迟,赶紧来看效果
- 只有Toast文字
[self.view OYQ_makeToast:@"Toast内容"];
- 带标题的Toast
[self.view OYQ_makeToast:@"Toast内容"
title:@"标题"
duration:3.0f
toastPosition:OYQToastPositionDefault
image:nil
imagePosition:OYQImagePositionDefault];
- 带图片的Toast
[self.view OYQ_makeToast:@"Toast内容"
title:nil
duration:3.0f
toastPosition:OYQToastPositionBottom
image:[UIImage imageNamed:@"wechatLogo"]
imagePosition:OYQImagePositionDefault];
- 带图片和标题的Toast
[self.view OYQ_makeToast:@"Toast内容"
title:@"标题"
duration:3.0f
toastPosition:OYQToastPositionDefault
image:[UIImage imageNamed:@"wechatLogo"]
imagePosition:OYQImagePositionDefault];
嗯,很帅🙊, 还能控制图片的位置哦
[self.view OYQ_makeToast:@"Toast内容"
title:@"标题"
duration:3.0f
toastPosition:OYQToastPositionDefault
image:[UIImage imageNamed:@"wechatLogo"]
imagePosition:OYQImagePositionTop];
使用方法此扩展中使用了两个枚举值来控制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),或者直接在下面留言哦!