• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ios > IOS如何实现Androidhandler功能

IOS如何实现Androidhandler功能

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-05

佚名通过本文主要向大家介绍了android handler,android handler用法,android handler机制,android handler详解,android handler传值等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: IOS如何实现Android handler功能
描述:

具体功能是: 我有一个按钮,点击会出现一个弹窗,弹窗上也有按钮,如果我点击了按钮弹出弹窗然后就不做任何操作,弹窗会在2秒后自动消失,如果在2秒内点了弹窗上的按钮,那么会重新计时2秒,如果没操作就消失。
用Android的话可以同过handler延时发送消息实现。  就是点一下按钮,执行一次下面操作
handler.removeMessages(1); 
handler.sendEmptyMessageDelayed(1, 2000);
发送一个2秒延时的消息,如果2秒内有操作,就移除这个消息,重新发一个2秒延时的消息,就能实现上面的功能。
不知道IOS如何实现。请大牛解答下0.0 IOS如何实现Android handler功能


解决方案1:

#import "ViewController.h"
@interface ViewController ()
@property (nonatomic, strong) NSTimer *timer;
@property (weak, nonatomic) IBOutlet UILabel *timerLabel;
@property (nonatomic, assign) int count;
@end
@implementation ViewController
- (IBAction)startBtnClick:(id)sender {
    if (self.timer) {
        [self.timer invalidate];
        self.timer = nil;
    }
    self.count = 0;
    self.timer = [NSTimer scheduledTimerWithTimeInterval:1.0f target:self selector:@selector(repeatShowTime:) userInfo:@"admin" repeats:YES];
}
- (IBAction)stopBtnClick:(id)sender {
    if (self.timer) {
        [self.timer invalidate];
        self.timer = nil;
    }
    self.count = 0;
    self.timerLabel.text = @"00:00";
}
- (IBAction)pauseBtnClick:(id)sender {
    [self.timer setFireDate:[NSDate distantFuture]];
}
- (IBAction)continueClick:(id)sender {
    [self.timer setFireDate:[NSDate date]];
}
- (void)viewDidLoad {
    [super viewDidLoad];
}
- (void)repeatShowTime:(NSTimer *)tempTimer {
    self.count++;
    
    self.timerLabel.text = [NSString stringWithFormat:@"%02d:%02d",self.count/60,self.count%60];
}
- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
}
- (void)dealloc {
    if (self.timer) {
        [self.timer invalidate];
        self.timer = nil;
    }
}
这是控制器代码,一个简单定时器的实现,storyboard上面的空间你根据代码添加就行了,你看下你需要的功能这些代码能不能用

解决方案2:

可以的,你在方法里写就好了。当事件触发的时候,计时器停止或移除或重新开始,你可以找一下类似于ios计时器之类的demo看下,我觉得计时器的功能和你需要的功能挺像的。

解决方案3:

开个线程就可以实现了

解决方案4:

NSTimer
+ (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)ti target:(id)aTarget selector:(SEL)aSelector userInfo:(nullable id)userInfo repeats:(BOOL)yesOrNo;


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • IOS如何实现Androidhandler功能

相关文章

  • 2017-06-05 分享自己根据别人开源项目修改的一个东西,用于替代系统的UIImagePickerController
  • 2017-06-05 二维数组OC二维数组替换元素的问题?
  • 2017-06-05 实时人脸检测,相机关闭
  • 2017-06-05 独木成林iossdwebimage的独立缓存问题
  • 2017-06-05 请问14GI5的4GMACMINI用来做一般的APP开发够用吗
  • 2017-06-05 cocoapods无法更新
  • 2017-06-05 xcode中导入python碰到的问题?
  • 2017-06-05 堆和栈的区别iOS堆与栈的问题
  • 2017-06-05 UITableViewCell如何获取自身高度
  • 2017-06-05 从xib载入view,如何让xib生成的视图,随着superview的大小改变大小,不要有元素丢失

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 高德地图高德地图的定位点(大头针)的frame
    • iOSGCDAsyncSocket发送数据设置缓存大小?
    • iOS蓝牙高手请进--GATT需要通过MFI吗?
    • 大家做相册选取那个都怎么做的?有好的框架吗?
    • swift请问我该如何用正规化读取本文档存成array
    • SwiftSwift中where从句应该怎么用?
    • vmware虚拟机教程ios开发用vmware虚拟机,能否真机调试?
    • 关于彼岸花的图片关于objc_msgSend的两个隐藏参数
    • UITableViewCell如何在AutoLayout下根据是否有ImageView自适应高度
    • 一个webapp为了适应不同设备的屏幕是不是需要不同的css文件

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有