首页 > 系统 > iOS > 正文

IOS 仿Android吐司提示框的实例(分享)

2019-10-21 18:42:54
字体:
来源:转载
供稿:网友

直接上代码

#import <UIKit/UIKit.h>@interface ShowToastView : UIView+(void)showToastView:(UIView *)uiview WithMessage:(NSString *)message;+(void)showToastViewShort:(UIView *)uiview WithMessage:(NSString *)message;+(void)showToastViewWithCostUpload:(UIView *)uiview WithMessage:(NSString *)message;+(void)showSmallHeightToastView:(UIView *)uiview WithMessage:(NSString *)message;@end
#import "ShowToastView.h"@implementation ShowToastView//Toast提示框+(void)showToastView:(UIView *)uiview WithMessage:(NSString *)message{  UIView *showview = [[UIView alloc]init];  showview.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:.3];  showview.frame = CGRectMake(1, 1, 1, 1);  showview.layer.cornerRadius = 5.0f;  showview.layer.masksToBounds = YES;  [uiview addSubview:showview];  UILabel *label = [[UILabel alloc]init];  CGSize LabelSize = [message sizeWithFont:[UIFont systemFontOfSize:17] constrainedToSize:CGSizeMake(290, 9000)];  label.frame = CGRectMake(10, 5, LabelSize.width, LabelSize.height);  label.text = message;  label.textColor = [UIColor whiteColor];  label.textAlignment = 1;  label.backgroundColor = [UIColor clearColor];  label.font = [UIFont boldSystemFontOfSize:font(15)];  [showview addSubview:label];  showview.frame = CGRectMake((uiview.frame.size.width - LabelSize.width - 20)/2, uiview.frame.size.height - LabelSize.height-100, LabelSize.width+20, LabelSize.height+10);  [UIView animateWithDuration:5.0 animations:^{    showview.alpha = 0;  } completion:^(BOOL finished) {    [showview removeFromSuperview];  }];}+(void)showToastViewShort:(UIView *)uiview WithMessage:(NSString *)message{  UIView *showview = [[UIView alloc]init];  showview.backgroundColor = [UIColor whiteColor];  showview.frame = CGRectMake(1, 1, 1, 1);  showview.layer.cornerRadius = 5.0f;  showview.layer.masksToBounds = YES;  [uiview addSubview:showview];  UILabel *label = [[UILabel alloc]init];  CGSize LabelSize = [message sizeWithFont:[UIFont systemFontOfSize:17] constrainedToSize:CGSizeMake(290, 9000)];  label.frame = CGRectMake(10, 5, LabelSize.width, LabelSize.height);  label.text = message;  label.textColor = [UIColor blackColor];  label.textAlignment = 1;  label.backgroundColor = [UIColor clearColor];  label.font = [UIFont boldSystemFontOfSize:15];  [showview addSubview:label];  showview.frame = CGRectMake((uiview.frame.size.width - LabelSize.width - 20)/2, uiview.frame.size.height - LabelSize.height-60, LabelSize.width+20, LabelSize.height+10);  [UIView animateWithDuration:1 animations:^{    showview.alpha = 0;  } completion:^(BOOL finished) {    [showview removeFromSuperview];  }];}//费用提报的Toast位置往上放一点+(void)showToastViewWithCostUpload:(UIView *)uiview WithMessage:(NSString *)message{  UIView *showview = [[UIView alloc]init];  showview.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:.3];  showview.frame = CGRectMake(1, 1, 1, 1);  showview.layer.cornerRadius = 5.0f;  showview.layer.masksToBounds = YES;  [uiview addSubview:showview];  UILabel *label = [[UILabel alloc]init];  CGSize LabelSize = [message sizeWithFont:[UIFont systemFontOfSize:17] constrainedToSize:CGSizeMake(290, 9000)];  label.frame = CGRectMake(10, 5, LabelSize.width, LabelSize.height);  label.text = message;  label.textColor = [UIColor whiteColor];  label.textAlignment = 1;  label.backgroundColor = [UIColor clearColor];  label.font = [UIFont boldSystemFontOfSize:font(15)];  [showview addSubview:label];  showview.frame = CGRectMake((uiview.frame.size.width - LabelSize.width - 20)/2, uiview.frame.size.height - LabelSize.height-100, LabelSize.width+20, LabelSize.height+10);  [UIView animateWithDuration:3.0 animations:^{    showview.alpha = 0;  } completion:^(BOOL finished) {    [showview removeFromSuperview];  }];}//点击开始按钮的时候提示没有任务,但是由于字数太多,高度又和宽度有一定的对比,所以在这里改成小一点高度+(void)showSmallHeightToastView:(UIView *)uiview WithMessage:(NSString *)message{  UIView *showview = [[UIView alloc]init];  showview.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:.3];  showview.frame = CGRectMake(1, 1, 1, 1);  showview.layer.cornerRadius = 5.0f;  showview.layer.masksToBounds = YES;  [uiview addSubview:showview];  UILabel *label = [[UILabel alloc]init];  CGSize LabelSize = [message sizeWithFont:[UIFont systemFontOfSize:17] constrainedToSize:CGSizeMake(290, 9000)];  label.frame = CGRectMake(10, 0, LabelSize.width, LabelSize.height);  label.text = message;  label.textColor = [UIColor whiteColor];  label.textAlignment = 1;  label.backgroundColor = [UIColor clearColor];  label.font = [UIFont boldSystemFontOfSize:font(15)];  [showview addSubview:label];  showview.frame = CGRectMake((uiview.frame.size.width - LabelSize.width - 20)/2, uiview.frame.size.height - LabelSize.height-60, LabelSize.width+20, LabelSize.height-5);  [UIView animateWithDuration:5.0 animations:^{    showview.alpha = 0;  } completion:^(BOOL finished) {    [showview removeFromSuperview];  }];}@end

使用方法

[ShowToastView showToastView:self.view WithMessage:@"用户名或密码错误"];

以上这篇IOS 仿Android吐司提示框的实例(分享)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持VEVB武林网。


注:相关教程知识阅读请移步到IOS开发频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表