//
// ViewController.m
// Games.JigsawPuzzle
//
// Created by eric on 15-10-21.
// Copyright (c) 2015年 E_L. All rights reserved.
//
#import "ViewController.h"
#define WIDTH [UIScreen mainScreen].bounds.size.width
#define HEIGHT [UIScreen mainScreen].bounds.size.height
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[superviewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
self.view.backgroundColor=[UIColororangeColor];//color bkg
#pragma mark -imgV
UIImageView* imgV=[[UIImageViewalloc]initWithImage:[UIImageimageNamed:@"girl.jpg"]];
imgV.frame=CGRectMake((WIDTH-300)/2,HEIGHT-((HEIGHT-60)/4)-60,WIDTH/3,(HEIGHT-60)/3);
[self.viewaddSubview:imgV];//show orginal img
#pragma mark -imgBkg
UIImageView* imgBkg=[[UIImageViewalloc]initWithFrame:CGRectMake(65/2,60,310, 310)];
imgBkg.backgroundColor=[UIColorpurpleColor];
imgBkg.userInteractionEnabled=YES;
[self.viewaddSubview:imgBkg];
#pragma mark -clipImg
for (int i=0; i<3; i++) {
for (int j=0; j<3; j++) {
//clipImg
UIImage* subImg=[selfclipImg:[UIImageimageNamed:@"girl.jpg"]withRect:CGRectMake(j*105, i*105,100, 100)];
//gameV for loading clipped img
UIImageView* gameV=[[UIImageViewalloc]initWithFrame:CGRectMake(j*105, i*105,100, 100)];
if (!(i==2&&j==2)) {
gameV.image=subImg;
}
gameV.userInteractionEnabled=YES;
UITapGestureRecognizer* tapGR=[[UITapGestureRecognizeralloc]initWithTarget:selfaction:@selector(tapEvent:)];
gameV.tag=10+10*i+j;
[gameVaddGestureRecognizer:tapGR];
[imgBkgaddSubview:gameV];
}
}
#pragma mark -
}
-(void)tapEvent:(UITapGestureRecognizer*)tap{
// tap.view
UIImageView* imgBlank=(UIImageView*)[self.viewviewWithTag:32];
UIImageView* imgV=(UIImageView*)[self.viewviewWithTag:tap.view.tag];
if(powf((imgV.center.x-imgBlank.center.x),2)==powf((imgBlank.frame.size.width+5),2)||powf((imgV.center.y-imgBlank.center.y),2)==powf((imgBlank.frame.size.height+5),2)){//get location info
if (imgV.center.x==imgBlank.center.x||imgV.center.y==imgBlank.center.y) {//get location info
CGPoint tempPoint;
tempPoint=imgBlank.center;
imgBlank.center=imgV.center;
imgV.center=tempPoint;//exchange position
}
}
// NSLog(@"%lu",imgV.tag);
// NSLog(@"%f,%f",imgV.center.x,imgV.center.y);
}
-(UIImage*)clipImg:(UIImage*)img withRect:(CGRect)rect{
CGImageRef imgRef=CGImageCreateWithImageInRect(img.CGImage, rect);
UIImage* subImg=[UIImageimageWithCGImage:imgRef];
return subImg;
}
-(void)viewDidAppear:(BOOL)animated{
[superviewDidAppear:animated];
}
-(void)viewWillLayoutSubviews{
}
- (void)didReceiveMemoryWarning {
[superdidReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end