清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>
//
// ViewController.m
// CeHua
//
// Created by mac on 15-4-14.
// Copyright (c) 2015年 mac. All rights reserved.
//
#import "ViewController.h"
#import "LeftViewController.h"
#import "RightViewController.h"
//取屏幕寬高
#define KscreenWidth [UIScreen mainScreen].bounds.size.width
#define KscreenHeigh [UIScreen mainScreen].bounds.size.height
@interface ViewController (){
CGPoint _point0;//初始point
LeftViewController *_left;
RightViewController *_right;
}
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
self.view.backgroundColor = [UIColor orangeColor];
//初始化左右視圖
_left = [[LeftViewController alloc] init];
_left.view.frame = CGRectMake(-200, 0,KscreenWidth, KscreenHeigh);
_left.view.alpha = 0;
_right = [[RightViewController alloc] init];
_right.view.frame = CGRectMake((KscreenWidth - (KscreenWidth/4)), 0, KscreenWidth, KscreenHeigh);
_right.view.alpha = 0;
/*
第二种方式
在这里不设置frame值 把左右视图当做子视图加到主视图上 当触摸结束时改变左右视图的frame值
第三种方式
把左右控制器当子控制器加到主控制器上 触摸结束时改变frame值并把视图插入主界面
*/
}
//觸摸開始時的事件
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
//取觸摸點座標
UITouch *touch = [touches anyObject];
_point0 = [touch locationInView:self.view];
UIImageView *iamgeView = [[UIImageView alloc] initWithFrame:CGRectMake(_point0.x, _point0.y, 20, 20)];
iamgeView.image = [UIImage imageNamed:@"0.jpg"];
[self.view addSubview:iamgeView];
[UIView animateWithDuration:.75
animations:^{
iamgeView.alpha = 0;
} completion:^(BOOL finished) {
[iamgeView removeFromSuperview];
}];
}
//手指移動時的時間
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{
UITouch *touch = [touches anyObject];
CGPoint point = [touch locationInView:self.view];
UIImageView *iamgeView = [[UIImageView alloc] initWithFrame:CGRectMake(point.x, point.y, 20, 20)];
iamgeView.image = [UIImage imageNamed:@"0.jpg"];
[self.view addSubview:iamgeView];
[UIView animateWithDuration:.5
animations:^{
iamgeView.alpha = 0;
} completion:^(BOOL finished) {
[iamgeView removeFromSuperview];
}];
}
//觸摸結束時的事件
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{
//判斷左右視圖出現的時機
UITouch *touch = [touches anyObject];
CGPoint point = [touch locationInView:self.view];
if (_left.view == nil) {
_left = [[LeftViewController alloc] init];
_left.view.frame = CGRectMake(-200, 0,KscreenWidth, KscreenHeigh);
_left.view.alpha = 0;
}
if (_right.view == nil) {
_right = [[RightViewController alloc] init];
_right.view.frame = CGRectMake((KscreenWidth - (KscreenWidth / 4)), 0, KscreenWidth, KscreenHeigh);
_right.view.alpha = 0;
}
if (200 < (point.x - _point0.x)) {
[UIView animateWithDuration:.75
animations:^{
if (_right.view.alpha == 0) {
_left.view.alpha = 1;
[self.view addSubview:_left.view];
}
_right.view.alpha = 0;
[_right.view removeFromSuperview];
} completion:^(BOOL finished) {
}];
}else if (200 < (_point0.x - point.x)){
[UIView animateWithDuration:.75
animations:^{
if (_left.view.alpha == 0) {
_right.view.alpha = 1;
[self.view addSubview:_right.view];
}
_left.view.alpha = 0;
[_left.view removeFromSuperview];
} completion:^(BOOL finished) {
}];
}
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end