博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【转】iOS类似Android上toast效果
阅读量:6849 次
发布时间:2019-06-26

本文共 1885 字,大约阅读时间需要 6 分钟。

原文网址:http://m.blog.csdn.net/article/details?id=50478737

做过Android开发的人都知道toast,它会在界面上显示一排黑色背景的文字,用于提示用户信息。但iOS上并没有类似的控件,so,自己写一个吧。

原理:

说白了,Android中的toast可以理解成iOS中的一个黑色背景的UILabel。。。

效果图:

是不是还可以,什么背景颜色,字体大小,位置,统统都是可以自己设置的。

代码:

 

//尺寸设置#define aiScreenWidth [UIScreen mainScreen].bounds.size.width#define aiScreenHeight [UIScreen mainScreen].bounds.size.height#define STATUS_BAR_HEIGHT [[UIApplication sharedApplication] statusBarFrame].size.height#define NAVIGATION_BAR_HEIGHT self.navigationController.navigationBar.frame.size.height#define TAB_BAR_HEIGHT self.tabBarController.tabBar.frame.size.height

 

 

- (void) addToastWithString:(NSString *)string inView:(UIView *)view {        CGRect initRect = CGRectMake(0, STATUS_BAR_HEIGHT + 44, aiScreenWidth, 0);    CGRect rect = CGRectMake(0, STATUS_BAR_HEIGHT + 44, aiScreenWidth, 22);    UILabel* label = [[UILabel alloc] initWithFrame:initRect];    label.text = string;    label.textAlignment = NSTextAlignmentCenter;    label.textColor = [UIColor whiteColor];    label.font = [UIFont systemFontOfSize:14];    label.backgroundColor = [UIColor colorWithRed:0 green:0.6 blue:0.9 alpha:0.6];        [view addSubview:label];        //弹出label    [UIView animateWithDuration:0.5 animations:^{                label.frame = rect;            } completion:^ (BOOL finished){        //弹出后持续1s        [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(removeToastWithView:) userInfo:label repeats:NO];    }];}- (void) removeToastWithView:(NSTimer *)timer {        UILabel* label = [timer userInfo];        CGRect initRect = CGRectMake(0, STATUS_BAR_HEIGHT + 44, aiScreenWidth, 0);//    label消失    [UIView animateWithDuration:0.5 animations:^{                label.frame = initRect;    } completion:^(BOOL finished){                [label removeFromSuperview];    }];}

使用方法:

 

 

[self addToastWithString:@"更新到最新数据啦~" inView:self.view];
你可能感兴趣的文章
我的友情链接
查看>>
2015年下半年系统集成项目管理工程师培训感想
查看>>
命令模式
查看>>
Python精简笔记-[1] 从安装到编辑器的使用
查看>>
VMwareESX/ESXi 精简置备(thin)与厚置备(thick)虚拟机磁盘之间转换
查看>>
迭代器模式
查看>>
github 仓库重命名(改名)
查看>>
web前端性能优化
查看>>
为基恩士 TM-3000 激光测量仪定制的测量管理系统
查看>>
java反射机制+工厂模式+配置文件----->在谈到spring配置文件
查看>>
linux 操作系统进程系列
查看>>
持续化集成工具jenkins环境搭建及配置
查看>>
CDN架构以及原理分析
查看>>
2016年3月7日作业
查看>>
HDFS DataBlockScanner
查看>>
MVC模式基本理解
查看>>
开源 java CMS - FreeCMS2.8会员登录
查看>>
ps学习笔记 11,12 路径,色彩调整
查看>>
MDaemonV15 版本新特性介绍
查看>>
【Guava】基于guava的重试组件Guava-Retryer
查看>>