zoukankan      html  css  js  c++  java
  • UI基础--定时器和视图移动

    我们先声明一个定时器:

    #import <UIKit/UIKit.h>
    
    @interface ViewController : UIViewController
    
    //私有
    {
        //定义一个定时器对象
        //可以在固定时间内发送一个消息,通过消息来调用响应的函数.
        //通过此函数可以在固定的时间段完成一个任务
        NSTimer* _timerView;
    }
    
    //共有
    @property (nonatomic, strong) NSTimer *timerView;
    
    
    @end

    创建按钮并添加按钮事件:

    #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.
        self.view.backgroundColor = [UIColor blackColor];
        
        //创建一个启动按钮
        UIButton *btnStart = [UIButton buttonWithType:UIButtonTypeCustom];
        btnStart.frame = CGRectMake(100, 100, 100, 100);
        [btnStart setTitle:@"启动定时器" forState:UIControlStateNormal];
        
        [self.view addSubview:btnStart];
        
        //添加开始定时器按钮事件
        [btnStart addTarget:self action:@selector(btnStart:) forControlEvents:UIControlEventTouchUpInside];
        
        //创建一个停止按钮
        UIButton *btnStop =  [UIButton buttonWithType:UIButtonTypeCustom];
        btnStop.frame = CGRectMake(100, 300, 100, 100);
        [btnStop setTitle:@"停止定时器" forState:UIControlStateNormal];
        [self.view addSubview:btnStop];
        //添加停止定时器按钮事件
        [btnStop addTarget:self action:@selector(btnStopAct:) forControlEvents:UIControlEventTouchUpInside];
        
        
        //创建一个View
        UIView *view = [[UIView alloc]init];
        view.frame = CGRectMake(0, 0, 80, 80);
        view.backgroundColor = [UIColor whiteColor];
        //可以通过父视图对象以及view的标签值,可以获得相应的视图对象
        view.tag = 101;
        [self.view addSubview:view];
        
        
    }
    
    - (void)btnStart:(UIButton *)btn{
      
        //通过类方法创建一个定时器并启动
        //p1.每隔多长事件调用此函数.
        //p2.实现定时器函数的对象(指针)
        //p3.定时器函数对象
        //p4.可以传入一个参数,无参传nil;(类型是id)
        //p5.定时器是否重复调用
        //返回值为一个新建好的定时器对象
       _timerView = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(updataTimer:) userInfo:@"小明" repeats:YES];
        
        
    }
    
    //停止定时器
    - (void)btnStopAct:(UIButton *)btn{
        
        //停止定时器
        [_timerView invalidate];
        _timerView = nil;
        
    }
    //定时器函数
    - (void)updataTimer:(NSTimer *)timerstart{
        
        //根据view.tag值获取对应的视图对象
        UIView *view = [self.view viewWithTag:101];
        view.frame = CGRectMake(view.frame.origin.x +5, view.frame.origin.y + 5, 80, 80);
        
        
        
    }
  • 相关阅读:
    C#综合揭秘——Entity Framework 并发处理详解
    Apache2.2+Tomcat7.0整合配置详解
    python操作excel
    NameError: name ‘time‘ is not defined
    ping命令最实用的
    github使用方法
    数字证书
    网络编程
    不辣的皮特
    msdn上的“索引器”(indexer)示例
  • 原文地址:https://www.cnblogs.com/LzwBlog/p/5676261.html
Copyright © 2011-2022 走看看