在iOS中实现类似安卓自动消失提示框

类方法:

+ (void)showMessage:(NSString *)message {
    // 获取window
    UIWindow *window = [UIApplication sharedApplication].keyWindow;
    UIView *showView = [[UIView alloc] init];
    showView.backgroundColor = [UIColor blackColor];
    showView.frame = CGRectMake(1, 1, 1, 1);
    showView.alpha = 1.0f;
    showView.layer.cornerRadius = 5.0f;
    showView.layer.masksToBounds = YES;
    [window addSubview:showView];

    UILabel *label = [[UILabel alloc] init];
    UIFont *font = [UIFont systemFontOfSize:15];
    CGRect labelRect = [message boundingRectWithSize:CGSizeMake(290, CGFLOAT_MAX) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName: font} context:nil];
    label.frame = CGRectMake(10, 5, CGRectGetWidth(labelRect), CGRectGetHeight(labelRect));
    label.text = message;
    label.textColor = [UIColor whiteColor];
    label.textAlignment = NSTextAlignmentCenter;
    label.backgroundColor = [UIColor clearColor];
    [showView addSubview:label];
    showView.frame = CGRectMake((SCREEN_WIDTH - CGRectGetWidth(labelRect) - 20)/2, SCREEN_HEIGHT - 100, CGRectGetWidth(labelRect)+20, CGRectGetHeight(labelRect)+10);
    [UIView animateWithDuration:1.5 animations:^{
        showView.alpha = 0;
    } completion:^(BOOL finished) {
        [showView removeFromSuperview];
    }];

}
时间: 2024-08-06 20:08:52

在iOS中实现类似安卓自动消失提示框的相关文章

iOS中可以设定时间自动消失提示框的三种实现方式

//============================================================================== #pragma mark - 一.显示定制View的消息,定时消失 //============================================================================== +(void)showMessage:(NSString *)message duration:(NSTim

怎样关掉 ubuntu 中的 System Program Problem Detected 提示框

怎样关掉 ubuntu 中的 System Program Problem Detected 提示框 方法如下:sudo gedit /etc/default/apport  打开该文件如下:# set this to 0 to disable apport, or to 1 to enable it# you can temporarily override this with# sudo service apport start force_start=1enabled=1 将 enable

Android安卓---Hellword 简单提示框

添加公用单元文件com..java package com.example.myapplication; import android.app.AlertDialog; import android.content.Context; import android.widget.Toast; public class com { //提示信息 public static void ShowMsg(String msg,Context context) { AlertDialog.Builder d

IOS开发之类似Android中Toast效果制作

ios中没有类似于Androidtoast效果的提示,在提示用户的时候显得尤为不便,因此做了一个类似Toast的功能. UILabel *hintLabel = [[UILabel alloc] initWithFrame:CGRect(80,400,160,40)]; hintLabel.textAlignment = NSTextAlignmentCenter; hintLabel.backgroundColor = [UIColor lightGrayColor]; hintLabel.a

IOS中的内存不足警告处理(译)

由于在IOS中虚拟内存系统不会采用页置换的方式来获取请求内存,取而代之的是它通过移除应用程序中的强引用来释放一些内存资源,我们知道强引用在IOS中表示拥有关系,只要有至少一个变量拥有这个对象,那么对象就不会被释放,当然IOS中没有类似Java或.NET的垃圾回收机制,所以我们需要手动来释放对象的引用.当然在ARC中,编译器会在编译阶段为我们插入这段释放代码.释放其实就是减少引用计数,有关于引用计数在内存管理中的应用,我会在另一篇文章中做描述. 当可用虚拟内存页的数量低于系统规定的临界值时,系统会

winCE/Windows 应用程序消息提示框自动消失功能

近期在做winCE系统的扫描枪应用程序,遇到了一些问题,其中包括消失提示框在手持终端显示过小, 用户要求提示框提示几秒后自动关闭,Windows平台可以通过调用系统API以定时器的方式进行自动销毁. 不过在winCE上存在不同,由于winCE系统属于精简版的windows系统,所以在API上也是属于精简后的, Windows平台销毁消息框用user32.dll中的FindWindow和PostMessage完成,而winCE平台并没有 user32.dll,不过对应的API在coredll.dl

iOS中使用 Reachability 检测网络

iOS中使用 Reachability 检测网络 内容提示:下提供离线模式(Evernote).那么你会使用到Reachability来实现网络检测.   写本文的目的 了解Reachability都能做什么 检测3中网络环境 2G/3G wifi 无网络 如何使用通知 单个controller 多个controller 简单的功能: 仅在wifi下使用 Reachability简介 Reachablity 是一个iOS下... 如果你想在iOS程序中提供一仅在wifi网络下使用(Reeder)

iOS中绑定tableview后,变量值消失的问题

好吧,标题就以最通俗的语句命名,估计百度收录的时候,大家查找的时候会更加的方便. iOS新手,这个问题着实调试了好长时间! 由于上手就开始做大的项目,也没时间从基础做起,相信大多数小公司的开发者都是这种模式.因此很多问题都产生自很基础的错误. 项目使用mvc结构,在异步读取完数据后,NSArray中model的数据就丢失了,专业点就是内存释放了,只剩下内存地址了. 可能大家的情况和我不同,所以解决方法也不一定相同. 项目服务端是asp.net webservice,使用AFNetworking读

在Mint 16中当按下光驱的弹出按钮后桌面上的光驱图标没有自动消失的问题解决

/*********************************************************************  * Author  : Samson  * Date    : 07/29/2014  * Test platform:  *              Mint 16  *              GNU bash, version 4.2.45  * *************************************************