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

本文共 1936 字,大约阅读时间需要 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];

转载于:https://www.cnblogs.com/wi100sh/p/5600772.html

你可能感兴趣的文章
clone github报Permission denied (publickey) 解决方案
查看>>
(转载)利用C#读取excel
查看>>
利用Zabbix监控Nginx
查看>>
jQuery测试
查看>>
[UWP]如何使用代码创建DataTemplate(或者ControlTemplate)
查看>>
Spring in Action --- 第三章 高级装配
查看>>
项目管理小记
查看>>
python 循环
查看>>
搭建一个入门springboot工程(Spring Initializr创建方式)
查看>>
初识Spring Boot框架(二)之DIY一个Spring Boot的自动配置
查看>>
网络知识
查看>>
Linux 压缩解压
查看>>
[leetcode] Remove Duplicates from Sorted Array II
查看>>
MVC 读取指定视图HTML 代码结构
查看>>
JAVA 中 getMethod()和invoke()方法应用
查看>>
Linux内存调试工具初探-MEMWATCH(转)
查看>>
《软件测试》--第四次博客作业
查看>>
git基本使用
查看>>
开篇寄语
查看>>
ES6特性的两点分析
查看>>