• iOS UI-Lable标签、NStimer定时器和RunLoop超级死循环


     1     // 标签UILable -显示文字
     2     // 1.创建标签
     3     UILabel *lable = [[UILabel alloc] init];
     4     // 2.设置标签的坐标和大小
     5     [lable setFrame:CGRectMake(0,20, 375, 50)];
     6     // 3.标签内容
     7     lable.text = @"";
     8     // 设置字体
     9     lable.font = [UIFont systemFontOfSize:20];
    10     // 设置字体颜色
    11     lable.textColor = [UIColor blackColor];
    12     // 设置内容换行
    13     lable.numberOfLines = 0;
    14     //设置圆角
    15     lable.layer.cornerRadius = 10;
    16     lable.layer.masksToBounds = NO;
    17     // 设置标签内容居中
    18     lable.textAlignment = NSTextAlignmentCenter;
    19     // 设置标签背景
    20     lable.backgroundColor = [UIColor blackColor];
    21     // 加载图片
    22     UIImageView *tempView = [[UIImageView alloc] init];
    23     [tempView setFrame:CGRectMake(255, 0, 120, 50)];
    24     tempView.image = [UIImage imageNamed:@"1.png"];
    25     // 4.在当前视图之上加载子视图
    26     [self.view addSubview:lable];
    27     [lable addSubview:tempView];
     1 #import "ViewController.h"
     2 
     3 @interface ViewController ()
     4 {
     5     NSTimer *timer;
     6     NSInteger length;
     7 }
     8 @property (weak, nonatomic) IBOutlet UILabel *lable;
     9 
    10 @end
    11 
    12 @implementation ViewController
    13 
    14 -(void) lableMove
    15 {
    16     if (self.lable.frame.origin.y>667) {
    17         length = -10;
    18     }
    19     else if (self.lable.frame.origin.y<0)
    20     {
    21         length = 10;
    22     }
    23     CGRect rect = self.lable.frame;
    24     rect.origin.y +=length;
    25     self.lable.frame = rect;
    26     
    27     if (self.lable.frame.origin.y>700) {
    28         [timer invalidate];
    29         [self.lable removeFromSuperview];
    30     }
    31 }
    32 
    33 - (void)viewDidLoad {
    34     [super viewDidLoad];
    35     /*
    36      NSTimeInterval 计时器响应时间间隔
    37      target:计时器的响应者
    38      selector:计时器的响应方法
    39      userInfo:nil
    40      repeats:计时器是否重复响应
    41      */
    42     length = 10;
    43     timer = [NSTimer timerWithTimeInterval:0.1 target:self selector:@selector(lableMove) userInfo:nil repeats:YES];
    44     
    45     //将定时器插入runLoop(超级死循环)中
    46     [[NSRunLoop currentRunLoop]  addTimer:timer forMode:NSRunLoopCommonModes];
    47 }
  • 相关阅读:
    GIT DIFF生成.PATCH文件
    C++中static关键字作用总结
    模版与泛型编程
    模版以及全特化,偏特化
    重载运算与类型转换
    GDB调试工具(待整理)
    面向对象(primer)
    7种获取高度的区别
    把页面主体内容限定在安全区内
    ios浏览器下载,apple-itunes-app
  • 原文地址:https://www.cnblogs.com/oc-bowen/p/5069691.html
Copyright © 2020-2023  润新知