iOS常用技术-飞舞的方块

//
//  ViewController.m
//  飞舞的UIView
//
//  Created by 大欢 on 16/1/18.
//  Copyright © 2016年 bjsxt. All rights reserved.
//
/********************************************************/
#import "ViewController.h"

#define SCREEN_WIDTH [UIScreen mainScreen].bounds.size.width
#define SCREEN_HEIGHT [UIScreen mainScreen].bounds.size.height

//以小写k打头定义标示符  只作用于一个编译单元

//所有字母大写 作用于全局

@interface ViewController ()
@property (nonatomic, strong) UIView * flyView;
@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    [self.view addSubview:self.flyView];

NSTimer * timer = [NSTimer timerWithTimeInterval:0.01 target:self selector:@selector(flyAction) userInfo:nil repeats:YES];
    [[NSRunLoop mainRunLoop] addTimer:timer forMode:NSDefaultRunLoopMode];
    
//    [NSTimer scheduledTimerWithTimeInterval:0.01 target:self selector:@selector(flyAction) userInfo:nil repeats:YES];
}

- (void)flyAction {
    
    CGRect rect = self.flyView.frame;
    
    static int X = 1;
    static int Y = 1;
    
    if (rect.origin.x < 0 || rect.origin.x + rect.size.width > SCREEN_WIDTH) {
        X *= -1;
    }
    if (rect.origin.y < 20 || rect.origin.y + rect.size.height > SCREEN_HEIGHT) {
        Y *= -1;
    }
    
    rect.origin.x += X;
    rect.origin.y += Y;
    
    self.flyView.frame = rect;
    
}

- (UIView *)flyView {
    
    if (!_flyView) {
        _flyView = [[UIView alloc] initWithFrame:CGRectMake(0, 20, 50, 50)];
        _flyView.backgroundColor = [UIColor orangeColor];
    }
    return _flyView;
}
@end
/**************************************************************/

时间: 2024-12-10 04:52:27

iOS常用技术-飞舞的方块的相关文章

iOS常用技术-七彩方块

////  UIColor+Radom.h//  七彩方块////  Created by 大欢 on 16/1/18.//  Copyright © 2016年 bjsxt. All rights reserved.// #import <UIKit/UIKit.h> @interface UIColor (Radom) + (UIColor *)Random; @end/***************************************************/ ////  U

【iOS开发-多线程】使用GCD创建多线程(iOS常用技术)

GCD 全称是Grand Central Dispatch 特点: 自动利用CPU的多核技术 自动管理线程的生命周期 使用步骤 定制任务 将任务添加队列 各类队列的特点 关于同步和异步的两种执行方式 /** * 同步方式执行任务,不管是什么队列,都不会再开一个线程 */ dispatch_sync(<#dispatch_queue_t queue#>, ^{ <#code#> }) /** * 异步方式执行任务,除了主队列都会开启一个新线程 */ dispatch_async(&l

iOS常用技术-微博字符串的截取

////  NSString+Range.h//  字符串作业////  Created by andezhou on 15/12/17.//  Copyright © 2015年 周安德. All rights reserved.// #import <Foundation/Foundation.h> @interface NSString (Range) // 截取话题##- (NSArray *)queryTopicFromString:(NSString *)topic; // 截取表

iOS常用技术-计算Label高度

////  ViewController.m//  计算Label高度////  Created by 大欢 on 16/1/19.//  Copyright © 2016年 bjsxt. All rights reserved.// #import "ViewController.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad {    [super vie

iOS常用技术-Label富文本

////  ViewController.m//  Label富文本////  Created by 大欢 on 16/1/19.//  Copyright © 2016年 bjsxt. All rights reserved.// #import "ViewController.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad {    [super view

iOS常用技术-气泡文本自适应

////  ChatBubble.h//  ChatBubble////  Created by 大欢 on 16/1/21.//  Copyright © 2016年 bjsxt. All rights reserved.// #import <UIKit/UIKit.h> @interface ChatBubble : UIImageView //显示的文字@property (nonatomic, copy) NSString * text; @end/*****************

iOS常用技术-登录界面

////  SXTTextField.h//  04-UITextField练习////  Created by andezhou on 16/1/8.//  Copyright (c) 2016年 周安德. All rights reserved.// #import <UIKit/UIKit.h> @interface SXTTextField : UITextField // 设置左边图片名字@property (copy, nonatomic) NSString *leftImgNam

iOS常用技术

1.判断系统 #define UMSYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v)  ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending)

iOS 必备技术点

IOS面试问题总结 分类: IOS开发2013-11-20 17:26 5873人阅读 评论(1) 收藏 举报 目录(?)[+] 通过网络搜寻和自己总结经历找了一些IOS面试经常被问道的问题: 1.搞清楚touch事件的传递(事件的响应链) 事件的响应(responder chain) 只有继承了UIResponder的类才能响应touch事件,从上图的响应者链可以看出,优先是最上层的view响应事件,如果该view有视图控制器的话会是下一个响应者,否者就是该view的父视图,这样至上而下传递事