美文网首页
IOS-UITimer的使用

IOS-UITimer的使用

作者: DaveZ | 来源:发表于2017-10-15 23:09 被阅读0次

UITimer 是 iOS 系统中的定时器。

今天主要实现的功能点 开始/停止 定时器,给定时器刷新函数带入参数和如何通过定时器更改 View 的位置属性,从而得到 View 的动画效果。

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController

{
    // 定义一个定时器
    NSTimer* _timerView;
}

@property (retain, nonatomic) NSTimer* timerView;

@end

接着我们在 ViewController.m 编写如下代码

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

// 属性和成员变量的同步
@synthesize timerView = _timerView;

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    
    UIButton* btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    btn.frame = CGRectMake(100, 100, 80, 40);
    [btn setTitle:@"开始定时器" forState:UIControlStateNormal];
    [btn addTarget:self action:@selector(pressStart) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:btn];
    
    UIButton* btn1 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    btn1.frame = CGRectMake(100, 200, 80, 40);
    [btn1 setTitle:@"停止定时器" forState:UIControlStateNormal];
    [btn1 addTarget:self action:@selector(pressStop) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:btn1];

    UIView* view = [[UIView alloc] init];
    view.frame = CGRectMake(0, 0, 50, 50);
    view.backgroundColor = [UIColor greenColor];
    view.tag = 200;
    [self.view addSubview:view];
}

- (void) pressStart {
    // P1 每隔多久调用定时器,以秒为单位
    // P2 实现定时器函数的对象
    // P3 定时器函数对象
    // P4 可以定时器函数中的一个参数,可以传 nil
    // P5 是否重复
    _timerView = [NSTimer scheduledTimerWithTimeInterval:0.01 target:self selector:@selector(updateTimer:) userInfo:@"DaveZ" repeats:YES];
    
    
}

- (void) pressStop {
    if (_timerView != nil) {
        [_timerView invalidate];
    }
}

// 可以将定时器本身作为参数传入
- (void) updateTimer: (NSTimer*) timer {
    NSLog(@"TEST name = %@", timer.userInfo);
    
    UIView* view = [self.view viewWithTag:200];
    view.frame = CGRectMake(view.frame.origin.x + 1, view.frame.origin.y + 1, 50, 50);
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end

相关文章

  • IOS-UITimer的使用

    UITimer 是 iOS 系统中的定时器。 今天主要实现的功能点 开始/停止 定时器,给定时器刷新函数带入参数和...

  • iconfont的使用(下载使用)

    1、下载文件 2、在生命周期中引入项目 beforeCreate () { var domModule = ...

  • Gson的使用--使用注解

    Gson为了简化序列化和反序列化的过程,提供了很多注解,这些注解大致分为三类,我们一一的介绍一下。 自定义字段的名...

  • 记录使用iframe的使用

    默认记录一下----可以说 这是我第一次使用iframe 之前都没有使用过; 使用方式: 自己开发就用了这几个属...

  • with的使用

    下面例子可以具体说明with如何工作: 运行代码,输出如下

  • this的使用

    什么是this? this是一个关键字,这个关键字总是返回一个对象;简单说,就是返回属性或方法“当前”所在的对象。...

  • this的使用

    JS中this调用有几种情况 一:纯粹的函数调用 这是函数的最通常用法,属于全局性调用,因此this就代表全局对象...

  • ==的使用

    积累日常遇到的编码规范,良好的编码习惯,持续更新。。。 日常使用==用于判断的时候,习惯性将比较值写前面,变量写后...

  • this的使用

    1.默认绑定,就是函数立即执行。 函数立即执行就是指向window,但是如果是node环境,就是指向全局conso...

  • %in% 的使用

    写在前面:From 生信技能书向量难点之一:%in% 难点 (1)== 与 %in% 的区别== 强调位置,x和对...

网友评论

      本文标题:IOS-UITimer的使用

      本文链接:https://www.haomeiwen.com/subject/dashuxtx.html