ios---顶部提示框
来源:互联网 发布:android 手机淘宝源码 编辑:程序博客网 时间:2024/06/11 22:37
一、简介
有时候我们在做程序的时候,项目要求我们给用户提示信息的时候,从顶部自动下拉下来,前些日子我接到过这样的需求,感觉用第三方的集成进来,如果以后修改样式的话或者其它的需求会很麻烦,所以我自己写了一个,代码有点简单,请大家指导一下,有什么意见或者有什么疑问可以直接评论询问我,很乐意和大家一起探讨学习.
二、代码
1.创建一个单例,我是继承NSOject的
+(instancetype)shareInstance
{
static ShowChatStateView *stateView = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
stateView = [[ShowChatStateView alloc]init];
});
return stateView;
}
2.初始化UIWindow
-(instancetype)init
{
self = [super init];
id <UIApplicationDelegate> delegate = [[UIApplication sharedApplication] delegate];
if ([delegate respondsToSelector:@selector(window)])
{
self.window = [delegate performSelector:@selector(window)];
}
else
{
self.window = [[UIApplication sharedApplication] keyWindow];
}
[self createUI];
return self;
}
3.创建UILabel,使label唯一
-(void)createUI
{
if (self.label == nil)
{
self.label = [[UILabel alloc]initWithFrame:CGRectMake(0, -64, SCREEN_WIDTH, 64)];
self.label.textAlignment = NSTextAlignmentCenter;
self.label.textColor = [UIColor whiteColor];
self.label.backgroundColor = [MyTool colorWithString:@"50D2C2"];
self.label.font = [UIFont systemFontOfSize:Font(14.0f)];
self.label.alpha = 0.f;
}
if (self.label.superview == nil)
{
[self.window addSubview:self.label];
}
}
4.将文字显示在Label上,并且从上面自动下拉,隔段时间(自己设定)在弹回去
-(void)show
{
if (!self.label.alpha)
{
self.label.alpha = 1.f;
CGRect rect = self.label.frame;
rect.origin.y = 0;
[UIView animateWithDuration:0.5 animations:^{
self.label.frame = rect;
} completion:^(BOOL finished) {
CGRect rect = self.label.frame;
rect.origin.y = -64;
[UIView animateWithDuration:0.5 delay:1.0 options:UIViewAnimationOptionCurveEaseIn animations:^{
self.label.frame = rect;
} completion:^(BOOL finished) {
self.label.alpha = 0.f;
}];
}];
}
}
-(void)showLabelWithString:(NSString *)string
{
self.label.text = string;
[self show];
}
5.调用方法
[[ShowChatStateView shareInstance] showLabelWithString:@"您已签过到"];
三、总结
我是利用UIWindow来实现下拉,这样有导航栏也不影响view的向下弹出,如果你有更好的方法,欢迎讨论,下面是效果图:
- ios---顶部提示框
- iOS-顶部提示框源码分享,在顶部弹出提示框
- 顶部提示栏
- 页面顶部提示维护信息
- 顶部提示的悬浮窗
- iOS UITableView回到顶部
- ios 顶部tab
- ios顶部导航栏
- ios顶部状态栏
- 仿Ios顶部TAB
- iOS 隐藏顶部状态栏
- ios 隐藏顶部栏
- iOS 隐藏顶部状态栏
- ios 隐藏顶部状态栏
- iOS点击回到顶部
- iOS顶部菜单栏
- iOS collectionView返回顶部
- [ios]顶部添加segment
- Codeforces 767B
- c++ 使用libcurl 发送http get/post请求
- Python3 UnicodeEncodeError 问题解决
- 数据库设计--第七章上机题和课后简答题
- sql根据父id查询子项数据
- ios---顶部提示框
- Android "外挂" 基础——Accessibility系列之AccessibilityService
- php 代码规范简洁
- 网易笔试题(一)
- C# Redis 使用
- SQLServer2016 AlwaysOn基于证书的搭建笔记
- 如何拖动DOM元素
- Android读取SD卡文件并显示到textview中
- http协议状态码总结