day 017 UIImageView

//
//  ViewController.m
//  unlock
//
//  Created by 蔡定龙 on 15-4-9.
//  Copyright (c) 2015年 李灵杰. All rights reserved.
//


#import "ViewController.h"


@interface ViewController ()
@property (nonatomic,strong) NSMutableArray *dotViewsArray;
@property (nonatomic,strong) NSMutableArray *selectedViewsArray;


@end


@implementation ViewController
            
- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    [self viewInitial];
    [self hengxianView];
    [self shuxianView];
    [self xiexianView];
    [self nineDotView];
    
    
}


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


- (void)viewInitial{
    self.dotViewsArray =[NSMutableArray arrayWithCapacity:9];
    self.selectedViewsArray = [NSMutableArray arrayWithCapacity:20];
    //底色背景
    UIImage *bgImage = [UIImage imageNamed:@"Main_BG"];
    self.view.backgroundColor = [UIColor colorWithPatternImage:bgImage];
    //操作界面
    [self createImageViewWihtFrame:CGRectMake(0, 50, 320, 460) andimageName:@"Unlock_DotLock1_Normal"];
    [self createImageViewWihtFrame:CGRectMake(0, 25, 320, 47) andimageName:@"NavigationBar_BG"];
    [self createImageViewWihtFrame:CGRectMake(100, 34, 120, 19) andimageName:@"NavigationBar_Logo"];
    
    
}


- (UIImageView *)createImageViewWihtFrame:(CGRect)rect andimageName:(NSString *)imageName{
    UIImageView *tempImageView = [[UIImageView alloc]initWithFrame:rect];
    tempImageView.image = [UIImage imageNamed:imageName];
    [self.view addSubview:tempImageView];
    return tempImageView;
}


- (void)nineDotView{
    int dotTag=1;
    for (int i=0; i<3; i++) {
        for (int j=0; j<3; j++) {
            CGRect rect = CGRectMake(35+ 99*j, 214 + 99*i, 52, 52);
            UIImageView *dotView=[self createImageViewWihtFrame:rect andimageName:@"Unlock_DotLock1_Selected"];
            dotView.hidden = YES;
            dotView.tag = dotTag++;
            [self.dotViewsArray addObject:dotView];
        }
    }
}


- (void)hengxianView{
    int hengxianTag =12;
    for (int i=0; i<3; i++) {
        for (int j=0; j<2; j++) {
            CGRect rect = CGRectMake(43+ 99*j, 220 + 99*i, 120, 37);
            UIImageView *hengxianView =[self createImageViewWihtFrame:rect andimageName:@"Unlock_DotLock1_Normal_Highlight1"];
            hengxianView.hidden = YES;
            hengxianView.tag = hengxianTag;
            hengxianTag = hengxianTag+11;
            
        }
        hengxianTag = hengxianTag+11;
    }


}


- (void)shuxianView{
    int shuxianTag=14;
    for (int i=0; i<2; i++) {
        for (int j=0; j<3; j++) {
            CGRect rect = CGRectMake(43+ 99*j, 220 + 99*i, 37, 120);
            UIImageView *shuxianView=[self createImageViewWihtFrame:rect andimageName:@"Unlock_DotLock1_Normal_Highlight2"];
            shuxianView.hidden = YES;
            shuxianView.tag = shuxianTag;
            shuxianTag =shuxianTag+11;
            
        }
    }
    
}


- (void)xiexianView{
    int rightTag=15;
    int leftTag = 24;
    for (int i=0; i<2; i++) {
        for (int j=0; j<2; j++) {
            CGRect rect1 = CGRectMake(43+ 99*j, 220 + 99*i, 120, 120);
            UIImageView *rightView=[self createImageViewWihtFrame:rect1 andimageName:@"Unlock_DotLock1_Normal_Highlight3"];
            CGRect rect2 = CGRectMake(50+ 99*j, 224 + 99*i, 120, 120);
            UIImageView *leftView = [self createImageViewWihtFrame:rect2 andimageName:@"Unlock_DotLock1_Normal_Highlight4"];
            rightView.hidden = YES;
            leftView .hidden = YES;
            rightView.tag=rightTag;
            rightTag = rightTag +11;
            leftView.tag =leftTag;
            leftTag = leftTag +11;
            NSLog(@"%lu",rightView.tag);
            NSLog(@"%lu",leftView.tag);
        }
        rightTag = rightTag+11;
        leftTag = leftTag+11;
    }
    
}


- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
    //得到触摸事件
    UITouch *touch = [touches anyObject];
    //得到触摸点坐标
    CGPoint location = [touch locationInView:self.view];
    
    for (UIImageView *dotView in _dotViewsArray) {
        if(CGRectContainsPoint(dotView.frame, location)){
            dotView.hidden = NO;
            
            [_selectedViewsArray addObject:dotView];
        }
    }
    
}


- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{
    //得到触摸的事件
    UITouch *touch = [touches anyObject];
    
    //得到触摸的点得坐标
    CGPoint location = [touch locationInView:self.view];
    
    //判断到底是哪个点
    for (UIImageView *dotView in _dotViewsArray) {
        if (CGRectContainsPoint(dotView.frame, location)) {
            if (dotView.hidden == YES) {
                dotView.hidden = NO;
                
                [_selectedViewsArray addObject:dotView];
            }
        }
    }
}


- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{
    //隐藏所有
    for (UIImageView *ligthView in _selectedViewsArray) {
        ligthView.hidden = YES;
    }
    
    //清空数组
    [_selectedViewsArray removeAllObjects];
}

@end


今天主要学习了UIImageView制作滑动解锁。在学习中,培养良好的代码结构习惯,代码模块化,合理利用tag等。多练习会更加熟练。

Practice makes perfect

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值