您的位置:首页 > 移动开发 > IOS开发

IOS 作业项目(4)步步完成 画图 程序(剧终)

2013-11-22 22:37 267 查看
//

// CHViewController.m

// SuperDrawingSample

//

// Created by JaikenLI on 13-11-21.

// Copyright (c) 2013年 lanou. All rights reserved.

//

#import "CHViewController.h"

#import "CircleView.h"

#import "TuyaPad.h"

@interfaceCHViewController ()

@property (nonatomic,strong)NSMutableArray *imageList;

//动态刷新首界面滑动视图的分页符以及contentSize,所有子视图

-(void)reloadData;

//画笔大小内的滑块触发的方法..

-(void)lineWidthFromSlider:(UISlider *)slider;

@end

#define KMainSceneTestControlTag 1001

#define KAboutSceneTestControlTag 1002

#define KEditSceneTestControlTag 1003

#define KLineColorSceneTestControlTag 1004

#define KBgColorSceneTestControlTag 1005

#define KLineWidthSceneTestControlTag 1006

#define KDetailSceneTestControlTag 1007

@implementation CHViewController

{

//画笔大小内的圆形视图

CircleView *circleView;

}

//七大视图作为本类的属性,便于在类的内部调用

//视图加载完后,添加7大视图容器

- (void)viewDidLoad

{

[superviewDidLoad];

self.imageList=[[NSMutableArrayalloc]init];//实例化数组

// Do any additional setup after loading the view, typically from a nib.

[self.view addSubview:self.mainScene];

[self.view addSubview:self.aboutScene];

[self.view addSubview:self.editScene];

[self.viewaddSubview:self.lineColorScene];

[self.viewaddSubview:self.bgColorScene];

[self.viewaddSubview:self.lineWidthScene];

[self.view addSubview:self.detailScene];

}

//当根视图将要显示时会触发这个方法

-(void)viewWillAppear:(BOOL)animated

{

[super viewWillAppear:animated];

//将首页提前

// [self.view bringSubviewToFront:self.mainScene];

[self.viewbringSubviewToFront:self.mainScene];

}

//ios7,隐藏statusBar

-(BOOL)prefersStatusBarHidden

{

returnYES;

}

- (void)didReceiveMemoryWarning

{

[superdidReceiveMemoryWarning];

// Dispose of any resources that can be recreated.

}

//1,程序启动

//2,程序流程框架

//3,程序界面一致

//程序界面功能

#pragma mark -property methods

-(UIView *)mainScene

{

//如果不等于空则实例化场景

if (_mainScene!=Nil) {

return _mainScene;

}

_mainScene=[[UIViewalloc]initWithFrame:self.view.bounds];

_mainScene.backgroundColor=[UIColorwhiteColor];

//背景颜色

UIView *bgView=[[UIView alloc]initWithFrame:self.view.bounds];

bgView.backgroundColor=RGB(189, 186, 255);

//给视图添加边框

bgView.layer.borderWidth=1.0f;

bgView.layer.borderColor=[UIColorblackColor].CGColor;

[_mainScene addSubview:bgView];

//2,标题New按钮父视图

UIButton *leftButton=[UIButtonbuttonWithType:UIButtonTypeRoundedRect];

leftButton.backgroundColor=[UIColor whiteColor];

[leftButton setTitle:@"New" forState:UIControlStateNormal];

leftButton.layer.borderWidth=1.0f;

leftButton.layer.borderColor=[UIColorblackColor].CGColor;

leftButton.frame =CGRectMake(0, 0, 64, 64);

[_mainScene addSubview:leftButton];

//3,标题title标签视图

UILabel *midLabel=[[UILabel alloc]initWithFrame:CGRectMake(63, 0, 194, 64)];

midLabel.backgroundColor=RGB(159, 235, 204);

midLabel.text=@"Drawing";

midLabel.font=[UIFont fontWithName:@"chalkboard se" size:30];

midLabel.textColor=RGB(248, 109, 204);

midLabel.textAlignment=NSTextAlignmentCenter;

midLabel.layer.borderWidth=1.0f;

midLabel.layer.borderColor=[UIColorblackColor].CGColor;

[_mainScene addSubview:midLabel];

//2,标题About按钮父视图

UIButton *rightButton=[UIButton buttonWithType:UIButtonTypeRoundedRect];

rightButton.backgroundColor=[UIColor whiteColor];

[rightButton setTitle:@"About" forState:UIControlStateNormal];

rightButton.layer.borderWidth=1.0f;

rightButton.layer.borderColor=[UIColor blackColor].CGColor;

rightButton.frame =CGRectMake(256, 0, 64, 64);

[_mainScene addSubview:rightButton];

//分页符

UIPageControl *pageControl=[[UIPageControlalloc]init];

pageControl.frame=CGRectMake(0, 460, 320, 20);

pageControl.numberOfPages=0;

pageControl.currentPage=0;

pageControl.tag=10010;

[_mainScene addSubview:pageControl];

// 5.滚动视图..

UIScrollView *scrollView = [[UIScrollView alloc] init];

scrollView.frame = CGRectMake(10, 74, 300, 386);

scrollView.backgroundColor = RGB(255, 255, 255);

scrollView.pagingEnabled = YES;

scrollView.contentSize = CGSizeZero;

scrollView.delegate = self;

scrollView.layer.borderWidth = 1.0f;

scrollView.layer.borderColor = RGB(0, 0, 0).CGColor;

scrollView.tag = 10036;

[_mainScene addSubview:scrollView];

//------------------------------------------------------------------------------------------

//这里只做第一个页面的固定功能

//在首次创建界面时,我们会指定好固定事件触发前的固定方法

//至于另外程序启动后,运行过程中会添加和减少的事件触发的方法,我们会在另外一个"刷新"方法内实现

//左边按钮功能:

[leftButton addTarget:self action:@selector(mainSceneToEditScene:) forControlEvents:UIControlEventTouchUpInside];

//右边按钮功能

[rightButton addTarget:self action:@selector(mainSceneToAboutScene:) forControlEvents:UIControlEventTouchUpInside];

//-------------------------------------------------------------------------------------------

return_mainScene;

}

-(UIView *)aboutScene

{

//如果不等于空则实例化场景

if (_aboutScene!=Nil) {

return_aboutScene;

}

_aboutScene=[[UIViewalloc]initWithFrame:self.view.bounds];

_aboutScene.backgroundColor=[UIColorwhiteColor];

CGRect frame=CGRectMake(0, 100, 320, 60);

UISegmentedControl *testControl=[[UISegmentedControlalloc]initWithFrame:frame];

testControl.momentary=YES;

[testControl insertSegmentWithTitle:@"Back"atIndex:0animated:NO];

testControl.tag=KAboutSceneTestControlTag;

//添加测试按钮触发的测试方法

[testControl addTarget:self action:@selector(testSegue:) forControlEvents:UIControlEventValueChanged];

[_aboutScene addSubview:testControl];

//背景颜色

UIView *bgView=[[UIView alloc]initWithFrame:self.view.bounds];

bgView.backgroundColor=RGB(255, 255, 255);

//给视图添加边框

bgView.layer.borderWidth=1.0f;

bgView.layer.borderColor=[UIColorblackColor].CGColor;

[_aboutScene addSubview:bgView];

//2,标题Back按钮父视图

UIButton *leftButton=[UIButtonbuttonWithType:UIButtonTypeRoundedRect];

leftButton.backgroundColor=[UIColor whiteColor];

[leftButton setTitle:@"Back" forState:UIControlStateNormal];

leftButton.layer.borderWidth=1.0f;

leftButton.layer.borderColor=[UIColorblackColor].CGColor;

leftButton.frame =CGRectMake(0, 0, 64, 64);

[_aboutScene addSubview:leftButton];

//3,标题title标签视图

UILabel *midLabel=[[UILabel alloc]initWithFrame:CGRectMake(63, 0, 257, 64)];

UILabel *titleTextLabel=[[UILabel alloc]initWithFrame:CGRectMake(64, 0,100, 64)];

titleTextLabel.font=[UIFont fontWithName:@"chalkboard se" size:20];

[titleTextLabel setText:@"Drawing"];

titleTextLabel.textColor=RGB(248, 109, 204);

titleTextLabel.textAlignment=NSTextAlignmentCenter;

[midLabel addSubview:titleTextLabel];

midLabel.backgroundColor=RGB(159, 235, 204);

midLabel.textAlignment=NSTextAlignmentCenter;

midLabel.layer.borderWidth=1.0f;

midLabel.layer.borderColor=[UIColorblackColor].CGColor;

[_aboutScene addSubview:midLabel];

//承载字体的label

UILabel *textLabel=[[UILabel alloc]initWithFrame:CGRectMake(0, 64, 320, 300)];

textLabel.text=@"hello asf sfsf sfs sfsdf s sdf sdf d sfd ";

textLabel.backgroundColor=[UIColor whiteColor];

[_aboutScene addSubview:textLabel];

//--------------------------------------------------------------------------------------

//"返回"按钮功能

[leftButton addTarget:self action:@selector(aboutSceneBackMainScene:) forControlEvents:UIControlEventTouchUpInside];

//--------------------------------------------------------------------------------------

return_aboutScene;

}

-(UIView *)editScene

{

//如果不等于空则实例化场景

if (_editScene!=Nil) {

return _editScene;

}

_editScene=[[UIViewalloc]initWithFrame:self.view.bounds];

_editScene.backgroundColor=[UIColorwhiteColor];

///////////////////////////////////////////

//背景颜色

UIView *View=[[UIView alloc]initWithFrame:self.view.bounds];

View.backgroundColor=RGB(189, 186, 255);

//给视图添加边框

View.layer.borderWidth=1.0f;

View.layer.borderColor=[UIColorblackColor].CGColor;

[_editScene addSubview:View];

//2,标题Back按钮父视图

UIButton *leftButton=[UIButtonbuttonWithType:UIButtonTypeRoundedRect];

leftButton.backgroundColor=[UIColor whiteColor];

[leftButton setTitle:@"Back" forState:UIControlStateNormal];

leftButton.layer.borderWidth=1.0f;

leftButton.layer.borderColor=[UIColorblackColor].CGColor;

leftButton.frame =CGRectMake(0, 0, 64, 64);

[_editScene addSubview:leftButton];

//3,标题Save按钮父视图

UIButton *rightButton=[UIButton buttonWithType:UIButtonTypeRoundedRect];

rightButton.backgroundColor=[UIColor whiteColor];

[rightButton setTitle:@"Save" forState:UIControlStateNormal];

rightButton.layer.borderWidth=1.0f;

rightButton.layer.borderColor=[UIColor blackColor].CGColor;

rightButton.frame =CGRectMake(256, 0, 64, 64);

[_editScene addSubview:rightButton];

UILabel *midLabel=[[UILabel alloc]initWithFrame:CGRectMake(63, 0, 194, 64)];

midLabel.backgroundColor=RGB(159, 235, 204);

midLabel.layer.borderWidth=1.0f;

midLabel.layer.borderColor=[UIColorblackColor].CGColor;

midLabel.userInteractionEnabled=YES;

[_editScene addSubview:midLabel];

//中间的三个按钮

UIButton *backgroundButton=[UIButton buttonWithType:UIButtonTypeRoundedRect];

backgroundButton.frame=CGRectMake(65, 10, 62, 40);

backgroundButton.backgroundColor=[UIColor whiteColor];

backgroundButton.layer.borderWidth=1;

backgroundButton.layer.borderColor=[UIColor blackColor].CGColor;

[backgroundButton setTitle:@"背景" forState:UIControlStateNormal];

[backgroundButton setTitleColor:[UIColorblackColor] forState:UIControlStateNormal];

backgroundButton.titleLabel.font=[UIFont fontWithName:@"chalkboard se" size:13];

[_editScene addSubview:backgroundButton];

UIButton *midButton=[UIButtonbuttonWithType:UIButtonTypeRoundedRect];

midButton.frame=CGRectMake(129, 10, 62, 40);

midButton.backgroundColor=[UIColor whiteColor];

midButton.layer.borderWidth=1;

midButton.layer.borderColor=[UIColorblackColor].CGColor;

[midButton setTitle:@"画笔颜色" forState:UIControlStateNormal];

[midButton setTitleColor:[UIColorblackColor] forState:UIControlStateNormal];

midButton.titleLabel.font=[UIFont fontWithName:@"chalkboard se" size:13];

midButton.titleLabel.textColor=[UIColor blackColor];

[_editScene addSubview:midButton];

UIButton *lineWidthButton=[UIButton buttonWithType:UIButtonTypeRoundedRect];

lineWidthButton.frame= CGRectMake(193, 10, 62, 40);

lineWidthButton.backgroundColor=[UIColor whiteColor];

lineWidthButton.layer.borderWidth=1;

lineWidthButton.layer.borderColor=[UIColor blackColor].CGColor;

[lineWidthButton setTitle:@"画笔大小" forState:UIControlStateNormal];

lineWidthButton.titleLabel.textColor=[UIColor blackColor];

[lineWidthButton setTitleColor:[UIColorblackColor] forState:UIControlStateNormal];

lineWidthButton.titleLabel.font=[UIFont fontWithName:@"chalkboard se" size:13];

[_editScene addSubview:lineWidthButton];

//------------------------------------------------------------------------------------------

//返回按钮功能

[leftButton addTarget:self action:@selector(editSceneBackMainScene:) forControlEvents:UIControlEventTouchUpInside];

//保存按钮功能

[rightButton addTarget:self action:@selector(editSceneBackMainScene:) forControlEvents:UIControlEventTouchUpInside];

//背景颜色按钮的功能

[backgroundButton addTarget:self action:@selector(editSceneToBgColorScene:) forControlEvents:UIControlEventTouchUpInside];

//画笔颜色按钮的功能

[midButton addTarget:self action:@selector(editSceneToLineColorScene:) forControlEvents:UIControlEventTouchUpInside];

//画笔大小按钮的功能

[lineWidthButton addTarget:self action:@selector(editSceneToLineWidthScene:) forControlEvents:UIControlEventTouchUpInside];

//-------------------------------------------------------------------------------------------------------------

TuyaPad *pad=[[TuyaPadalloc]initWithFrame:CGRectMake(10, 74, 300, 385)];

pad.backgroundColor=[UIColorwhiteColor];

pad.layer.borderWidth=1;

pad.layer.borderColor=[UIColorblackColor].CGColor;

pad.tag=10086;

[_editScene addSubview:pad];

return_editScene;

}

-(UIView *)lineColorScene

{

//如果不等于空则实例化场景

if (_lineColorScene!=Nil) {

return_lineColorScene;

}

_lineColorScene=[[UIView alloc]initWithFrame:self.view.bounds];

_lineColorScene.frame=self.view.bounds;

_lineColorScene.backgroundColor=[UIColorclearColor];

////////////////////////////

//1,灰色半透明视图

UIView * bgView=[[UIView alloc]initWithFrame:self.view.bounds];

bgView.backgroundColor=[UIColor grayColor];

bgView.alpha=0.75f;

[_lineColorScene addSubview:bgView];

//2,中间白色提醒背景

UIView *middleView=[[UIView alloc]initWithFrame:CGRectMake(40, 150, 240, 180)];

middleView.backgroundColor=[UIColor whiteColor];

middleView.layer.borderWidth=1.0f;

middleView.layer.borderColor=RGB(0, 0, 0).CGColor;

//2.1 中,左,取消按钮

UIButton *leftButton=[UIButtonbuttonWithType:UIButtonTypeRoundedRect];

leftButton.frame=CGRectMake(0, 0,70, 32);

leftButton.layer.borderWidth=1.0f;

leftButton.layer.borderColor=RGB(0, 0, 0).CGColor;

[leftButton setTitle:@"取消" forState:UIControlStateNormal];

[leftButton setTitleColor:[UIColorblackColor] forState:UIControlStateNormal];

[middleView addSubview:leftButton];

//2.2 中间的label

UILabel *midLabel=[[UILabel alloc]initWithFrame:CGRectMake(69, 0, 102, 32)];

midLabel.text=@"画笔颜色";

midLabel.textAlignment=NSTextAlignmentCenter;

midLabel.layer.borderColor=RGB(0, 0, 0).CGColor;

midLabel.layer.borderWidth=1.0f;

[middleView addSubview:midLabel];

//2.3 右边的完成按钮

UIButton *OkButton=[UIButtonbuttonWithType:UIButtonTypeRoundedRect];

OkButton.frame=CGRectMake(170, 0,70, 32);

OkButton.layer.borderWidth=1.0f;

OkButton.layer.borderColor=RGB(0, 0, 0).CGColor;

[OkButton setTitle:@"完成"forState:UIControlStateNormal];

[OkButton setTitleColor:[UIColorblackColor] forState:UIControlStateNormal];

[middleView addSubview:OkButton];

//三个滑块属性设置

UISlider *sliderR=[[UISlider alloc]initWithFrame:CGRectMake(10, 32, 155, 49)];

sliderR.minimumTrackTintColor=[UIColorredColor];

sliderR.minimumValue=0;

sliderR.maximumValue=1;

[middleView addSubview:sliderR];

UISlider *sliderG=[[UISlider alloc]initWithFrame:CGRectMake(10, 71, 155, 49)];

sliderG.minimumTrackTintColor=[UIColorgreenColor];

sliderG.minimumValue=0;

sliderG.maximumValue=1;

[middleView addSubview:sliderG];

UISlider *sliderB=[[UISlider alloc]initWithFrame:CGRectMake(10, 114, 155, 49)];

sliderB.minimumTrackTintColor=[UIColorblueColor];

sliderB.minimumValue=0;

sliderB.maximumValue=1;

[middleView addSubview:sliderB];

sliderR.tag=111;

sliderG.tag=222;

sliderB.tag=333;

//三个滑块后面的颜色标签

UILabel *Rlabel=[[UILabel alloc]initWithFrame:CGRectMake(170, 40, 45, 30)];

Rlabel.backgroundColor=[UIColor redColor];

Rlabel.layer.borderWidth=1;

Rlabel.layer.borderColor=[UIColorblackColor].CGColor;

Rlabel.text=@"red";

Rlabel.textColor=[UIColor whiteColor];

Rlabel.textAlignment=NSTextAlignmentCenter;

Rlabel.font=[UIFont fontWithName:@"chalkBoard se" size:14];

[middleView addSubview:Rlabel];

UILabel *Glabel=[[UILabel alloc]initWithFrame:CGRectMake(170, 79, 45, 30)];

Glabel.backgroundColor=[UIColor greenColor];

Glabel.layer.borderWidth=1;

Glabel.layer.borderColor=[UIColorblackColor].CGColor;

Glabel.text=@"green";

Glabel.textColor=[UIColor whiteColor];

Glabel.textAlignment=NSTextAlignmentCenter;

Glabel.font=[UIFont fontWithName:@"chalkBoard se" size:14];

[middleView addSubview:Glabel];

UILabel *Blabel=[[UILabel alloc]initWithFrame:CGRectMake(170, 118, 45, 30)];

Blabel.backgroundColor=[UIColor blueColor];

Blabel.layer.borderWidth=1;

Blabel.layer.borderColor=[UIColorblackColor].CGColor;

Blabel.text=@"blue";

Blabel.textColor=[UIColor whiteColor];

Blabel.textAlignment=NSTextAlignmentCenter;

Blabel.font=[UIFont fontWithName:@"chalkBoard se" size:14];

[middleView addSubview:Blabel];

//---------------------------------------------------------------------------

//取消按钮

[leftButton addTarget:self action:@selector(lineColorSceneBackEditScene:) forControlEvents:UIControlEventTouchUpInside];

//完成按钮

[OkButton addTarget:self action:@selector(lineColorSceneBackEditScene:) forControlEvents:UIControlEventTouchUpInside];

//---------------------------------------------------------------------------

[_lineColorScene addSubview:middleView];

return_lineColorScene;

}

-(UIView *)bgColorScene

{

//如果不等于空则实例化场景

if (_bgColorScene!=Nil) {

return_bgColorScene;

}

_bgColorScene=[[UIViewalloc]initWithFrame:self.view.bounds];

_bgColorScene.backgroundColor=[UIColorwhiteColor];

////////////////////////////

//1,灰色半透明视图

UIView * bgView=[[UIView alloc]initWithFrame:self.view.bounds];

bgView.backgroundColor=[UIColor grayColor];

bgView.alpha=0.75f;

[_bgColorScene addSubview:bgView];

//2,中间白色提醒背景

UIView *middleView=[[UIView alloc]initWithFrame:CGRectMake(40, 150, 240, 180)];

middleView.backgroundColor=[UIColor whiteColor];

middleView.layer.borderWidth=1.0f;

middleView.layer.borderColor=RGB(0, 0, 0).CGColor;

//2.1 中,左,取消按钮

UIButton *leftButton=[UIButtonbuttonWithType:UIButtonTypeRoundedRect];

leftButton.frame=CGRectMake(0, 0,70, 32);

leftButton.layer.borderWidth=1.0f;

leftButton.layer.borderColor=RGB(0, 0, 0).CGColor;

[leftButton setTitle:@"取消" forState:UIControlStateNormal];

[leftButton setTitleColor:[UIColorblackColor] forState:UIControlStateNormal];

[middleView addSubview:leftButton];

//2.2 中间的label

UILabel *midLabel=[[UILabel alloc]initWithFrame:CGRectMake(70, 0, 100, 32)];

midLabel.text=@"背景颜色";

midLabel.textAlignment=NSTextAlignmentCenter;

midLabel.layer.borderColor=RGB(0, 0, 0).CGColor;

midLabel.layer.borderWidth=1.0f;

[middleView addSubview:midLabel];

//2.3 右边的完成按钮

UIButton *OkButton=[UIButtonbuttonWithType:UIButtonTypeRoundedRect];

OkButton.frame=CGRectMake(170, 0,70, 32);

OkButton.layer.borderWidth=1.0f;

OkButton.layer.borderColor=RGB(0, 0, 0).CGColor;

[OkButton setTitle:@"完成"forState:UIControlStateNormal];

[OkButton setTitleColor:[UIColorblackColor] forState:UIControlStateNormal];

[middleView addSubview:OkButton];

//三个滑块属性设置

UISlider *sliderR=[[UISlider alloc]initWithFrame:CGRectMake(10, 32, 155, 49)];

sliderR.minimumTrackTintColor=[UIColorredColor];

sliderR.minimumValue=0;

sliderR.maximumValue=1;

sliderR.tag=111;

[middleView addSubview:sliderR];

UISlider *sliderG=[[UISlider alloc]initWithFrame:CGRectMake(10, 71, 155, 49)];

sliderG.minimumTrackTintColor=[UIColorgreenColor];

sliderG.minimumValue=0;

sliderG.maximumValue=1;

sliderG.tag=222;

[middleView addSubview:sliderG];

UISlider *sliderB=[[UISlider alloc]initWithFrame:CGRectMake(10, 114, 155, 49)];

sliderB.minimumTrackTintColor=[UIColorblueColor];

sliderB.minimumValue=0;

sliderB.maximumValue=1;

sliderB.tag=333;

[middleView addSubview:sliderB];

//三个滑块后面的颜色标签

UILabel *Rlabel=[[UILabel alloc]initWithFrame:CGRectMake(170, 40, 45, 30)];

Rlabel.backgroundColor=[UIColor redColor];

Rlabel.layer.borderWidth=1;

Rlabel.layer.borderColor=[UIColorblackColor].CGColor;

Rlabel.text=@"red";

Rlabel.textColor=[UIColor whiteColor];

Rlabel.textAlignment=NSTextAlignmentCenter;

Rlabel.font=[UIFont fontWithName:@"chalkBoard se" size:14];

[middleView addSubview:Rlabel];

UILabel *Glabel=[[UILabel alloc]initWithFrame:CGRectMake(170, 79, 45, 30)];

Glabel.backgroundColor=[UIColor greenColor];

Glabel.layer.borderWidth=1;

Glabel.layer.borderColor=[UIColorblackColor].CGColor;

Glabel.text=@"green";

Glabel.textColor=[UIColor whiteColor];

Glabel.textAlignment=NSTextAlignmentCenter;

Glabel.font=[UIFont fontWithName:@"chalkBoard se" size:14];

[middleView addSubview:Glabel];

UILabel *Blabel=[[UILabel alloc]initWithFrame:CGRectMake(170, 118, 45, 30)];

Blabel.backgroundColor=[UIColor blueColor];

Blabel.layer.borderWidth=1;

Blabel.layer.borderColor=[UIColorblackColor].CGColor;

Blabel.text=@"blue";

Blabel.textColor=[UIColor whiteColor];

Blabel.textAlignment=NSTextAlignmentCenter;

Blabel.font=[UIFont fontWithName:@"chalkBoard se" size:14];

[middleView addSubview:Blabel];

_bgColorScene.frame=self.view.bounds;

_bgColorScene.backgroundColor=[UIColorclearColor];

//---------------------------------------------------------------------------

//取消按钮

[leftButton addTarget:self action:@selector(bgColorSceneBackEditScene:) forControlEvents:UIControlEventTouchUpInside];

//完成按钮

[OkButton addTarget:self action:@selector(bgColorSceneBackEditScene:) forControlEvents:UIControlEventTouchUpInside];

//---------------------------------------------------------------------------

[_bgColorScene addSubview:middleView];

return_bgColorScene;

}

-(UIView *)lineWidthScene

{

//如果不等于空则实例化场景

if (_lineWidthScene!=Nil) {

return_lineWidthScene;

}

_lineWidthScene=[[UIViewalloc]initWithFrame:self.view.bounds];

_lineWidthScene.backgroundColor=[UIColorclearColor];

////////////////////////////

//1,灰色半透明视图

UIView * bgView=[[UIView alloc]initWithFrame:self.view.bounds];

bgView.backgroundColor=[UIColor grayColor];

bgView.alpha=0.75f;

[_lineWidthScene addSubview:bgView];

//2,中间白色提醒背景

UIView *middleView=[[UIView alloc]initWithFrame:CGRectMake(40, 150, 240, 180)];

middleView.backgroundColor=[UIColor whiteColor];

middleView.layer.borderWidth=1.0f;

middleView.layer.borderColor=RGB(0, 0, 0).CGColor;

//brown背景

UIView *brownView=[[UIView alloc]initWithFrame:CGRectMake(0, 32, 240, 148)];

brownView.backgroundColor=[UIColor brownColor];

brownView.layer.borderWidth=1.0f;

brownView.layer.borderColor=RGB(0, 0, 0).CGColor;

[middleView addSubview:brownView];

//2.1 中,左,取消按钮

UIButton *leftButton=[UIButtonbuttonWithType:UIButtonTypeRoundedRect];

leftButton.frame=CGRectMake(0, 0,70, 32);

leftButton.layer.borderWidth=1.0f;

leftButton.layer.borderColor=RGB(0, 0, 0).CGColor;

[leftButton setTitle:@"取消" forState:UIControlStateNormal];

[leftButton setTitleColor:[UIColorblackColor] forState:UIControlStateNormal];

[middleView addSubview:leftButton];

//2.2 中间的label

UILabel *midLabel=[[UILabel alloc]initWithFrame:CGRectMake(70, 0, 100, 32)];

midLabel.text=@"画笔大小";

midLabel.textAlignment=NSTextAlignmentCenter;

midLabel.layer.borderColor=RGB(0, 0, 0).CGColor;

midLabel.layer.borderWidth=1.0f;

[middleView addSubview:midLabel];

//2.3 右边的完成按钮

UIButton *OkButton=[UIButtonbuttonWithType:UIButtonTypeRoundedRect];

OkButton.frame=CGRectMake(170, 0,70, 32);

OkButton.layer.borderWidth=1.0f;

OkButton.layer.borderColor=RGB(0, 0, 0).CGColor;

[OkButton setTitle:@"完成"forState:UIControlStateNormal];

[OkButton setTitleColor:[UIColorblackColor] forState:UIControlStateNormal];

[middleView addSubview:OkButton];

UISlider *lineWidthSlider;

//三个滑块属性设置

lineWidthSlider=[[UISlider alloc]initWithFrame:CGRectMake(10, 82, 155, 49)];

lineWidthSlider.minimumTrackTintColor=[UIColor redColor];

lineWidthSlider.minimumValue=5;

lineWidthSlider.maximumValue=10;

lineWidthSlider.tag=555;

[lineWidthSlider addTarget:self action:@selector(lineWidthFromSlider:) forControlEvents:UIControlEventValueChanged];

[middleView addSubview:lineWidthSlider];

//添加画圆视图..

circleView=[[CircleViewalloc]initWithFrame:CGRectMake(170,CGRectGetMidY(middleView.bounds), 25, 25)];

circleView.backgroundColor=[UIColorclearColor];

[middleView addSubview: circleView];

//---------------------------------------------------------------------------

//取消按钮

[leftButton addTarget:self action:@selector(lineWidthSceneBackEditScene:) forControlEvents:UIControlEventTouchUpInside];

//完成按钮

[OkButton addTarget:self action:@selector(lineWidthSceneBackEditScene:) forControlEvents:UIControlEventTouchUpInside];

//---------------------------------------------------------------------------

[_lineWidthScene addSubview:middleView];

return_lineWidthScene;

}

-(UIView *)detailScene

{

//如果不等于空则实例化场景

if (_detailScene!=Nil) {

return_detailScene;

}

_detailScene=[[UIViewalloc]initWithFrame:self.view.bounds];

_detailScene.backgroundColor=[UIColorwhiteColor];

//背景颜色

UIView *bgView=[[UIView alloc]initWithFrame:self.view.bounds];

bgView.backgroundColor=RGB(189, 186, 255);

//给视图添加边框

bgView.layer.borderWidth=1.0f;

bgView.layer.borderColor=[UIColorblackColor].CGColor;

[_detailScene addSubview:bgView];

//2,标题New按钮父视图

UIButton *leftButton=[UIButtonbuttonWithType:UIButtonTypeRoundedRect];

leftButton.backgroundColor=[UIColor whiteColor];

[leftButton setTitle:@"Back" forState:UIControlStateNormal];

leftButton.layer.borderWidth=1.0f;

leftButton.layer.borderColor=[UIColorblackColor].CGColor;

leftButton.frame =CGRectMake(0, 0, 64, 64);

[_detailScene addSubview:leftButton];

//3,标题title标签视图

UILabel *midLabel=[[UILabel alloc]initWithFrame:CGRectMake(63, 0, 194, 64)];

midLabel.backgroundColor=RGB(159, 235, 204);

midLabel.layer.borderWidth=1.0f;

midLabel.layer.borderColor=[UIColorblackColor].CGColor;

[_detailScene addSubview:midLabel];

//2,标题About按钮父视图

UIButton *rightButton=[UIButton buttonWithType:UIButtonTypeRoundedRect];

rightButton.backgroundColor=[UIColor whiteColor];

[rightButton setTitle:@"Delete" forState:UIControlStateNormal];

rightButton.layer.borderWidth=1.0f;

rightButton.layer.borderColor=[UIColor blackColor].CGColor;

rightButton.frame =CGRectMake(256, 0, 64, 64);

[_detailScene addSubview:rightButton];

//----------------------------------------------------

[leftButton addTarget:self action:@selector(detailSceneBackMainScene:) forControlEvents:UIControlEventTouchUpInside];

//右边按钮功能

[rightButton addTarget:self action:@selector(detailSceneBackMainScene:) forControlEvents:UIControlEventTouchUpInside];

//----------------------------------------------------

UIImageView *whiteView=[[UIImageView alloc]initWithFrame:CGRectMake(10, 74, 300, 385)];

whiteView.backgroundColor=[UIColor whiteColor];

whiteView.layer.borderWidth=1;

whiteView.layer.borderColor=[UIColorblackColor].CGColor;

[_detailScene addSubview:whiteView];

return_detailScene;

}

//

#pragma mark -mainScene 出口方法

-(void)mainSceneToAboutScene:(id)sender

{

//将关于界面提前

[self.viewbringSubviewToFront:self.aboutScene];

}

-(void)mainSceneToEditScene:(id)sender

{

//将编辑界面提前

[self.viewbringSubviewToFront:self.editScene];

}

-(void)mainSceneToDetailScene:(id)sender

{

//UIScrollView *scrollView= 10036;

UIPageControl *pageControl=(UIPageControl *)[self.mainScene viewWithTag:10010];

NSInteger index= pageControl.currentPage;

((UIImageView *)[self.detailScene.subviews lastObject]).image= self.imageList[index];

//将详细界面提前

[self.viewbringSubviewToFront:self.detailScene];

}

#pragma mark -aboutScene 出口方法

-(void)aboutSceneBackMainScene:(id)sender

{

//返回主界面

[self.viewbringSubviewToFront:self.mainScene];

}

#pragma mark -editScene 出口方法

-(void)editSceneToLineColorScene:(id)sender

{

//将lineColor界面提前

[self.viewbringSubviewToFront:self.lineColorScene];

}

-(void)editSceneToBgColorScene:(id)sender

{

//将BgColorScene界面提前

[self.viewbringSubviewToFront:self.bgColorScene];

}

-(void)editSceneToLineWidthScene:(id)sender

{

//LineWidthScene提前

[self.viewbringSubviewToFront:self.lineWidthScene];

}

-(void)editSceneBackMainScene:(id)sender

{

//MainScene提前

[self.viewbringSubviewToFront:self.mainScene];

//

if (sender==Nil) {

return;

}

UIButton *button=(UIButton *)sender;//强转之后于智能提示

if ([button.titleLabel.text isEqual:@"Save"]) {

//获取绘画板视图..

TuyaPad *pad=(TuyaPad *)[self.editScene viewWithTag:10086];

//对绘画板视图进行截图

UIImage *padScreen=[pad getImageFromCurrentContext];

//添加到数组

[self.imageList addObject:padScreen];

//刷新

[self reloadData];

}

}

#pragma mark -lineColorScene 出口方法

-(void)lineColorSceneBackEditScene:(id)sender

{

//editScene提前

UIButton *button=(UIButton *)sender;

if ([button.titleLabel.text isEqualToString:@"完成"]) {

//获取三个slider

UISlider *redslider=(UISlider *)[[self lineColorScene] viewWithTag:111];

UISlider *greenslider=(UISlider *)[[self lineColorScene] viewWithTag:222];

UISlider *blueslider=(UISlider *)[[self lineColorScene] viewWithTag:333];

//设置画笔颜色

TuyaPad *pad=(TuyaPad *)[self.editSceneviewWithTag:10086];

pad.lineColor=[UIColor colorWithRed:redslider.value green:greenslider.value blue:blueslider.value alpha:1.0];

}

[self.viewbringSubviewToFront:self.editScene];

}

#pragma mark -bgColorScene 出口方法

-(void)bgColorSceneBackEditScene:(id)sender

{

UIButton *button=(UIButton *)sender;

if ([button.titleLabel.text isEqualToString:@"完成"]) {

//editScene提前

//获取三个slider

UISlider *redslider=(UISlider *)[[self bgColorScene] viewWithTag:111];

UISlider *greenslider=(UISlider *)[[self bgColorScene] viewWithTag:222];

UISlider *blueslider=(UISlider *)[[self bgColorScene] viewWithTag:333];

//获取涂鸦板

TuyaPad *pad=(TuyaPad *)[self.editScene viewWithTag:10086];

pad.backgroundColor=[UIColor colorWithRed:redslider.value green:greenslider.value blue:blueslider.value alpha:1.0];

}

[self.viewbringSubviewToFront:self.editScene];

}

#pragma mark -lineWidthScene 出口方法

-(void)lineWidthSceneBackEditScene:(id)sender

{

UIButton *button=(UIButton *)sender;

if ([button.titleLabel.text isEqualToString:@"完成"]) {

//editScene提前

//获取三个slider

UISlider *redslider=(UISlider *)[[self lineWidthScene] viewWithTag:555];

//获取涂鸦板

TuyaPad *pad=(TuyaPad *)[self.editScene viewWithTag:10086];

pad.lineWidth=redslider.value;

}

//editScene提前

[self.viewbringSubviewToFront:self.editScene];

}

#pragma mark -detailScene 出口方法

-(void)detailSceneToEditScene:(id)sender

{

//editScene提前

[self.viewbringSubviewToFront:self.editScene];

}

-(void)detailSceneBackMainScene:(id)sender

{

UIButton * button=(UIButton *)sender;

if ([button.titleLabel.text isEqualToString:@"Delete"])

{

//mainScene提前

UIPageControl *pageControl=(UIPageControl *)[self.mainScene viewWithTag:10010];

NSInteger index= pageControl.currentPage;

[self.imageList removeObjectAtIndex: index];

[selfreloadData];

}

[self.viewbringSubviewToFront:self.mainScene];

}

#pragma mark -私有方法

-(void)lineWidthFromSlider:(UISlider *)slider

{

circleView.radius=slider.value;

}

#pragma mark --测试程序流程的方法

-(void)testSegue:(UISegmentedControl *)testControl

{

switch (testControl.tag) {

caseKMainSceneTestControlTag:

{

switch (testControl.selectedSegmentIndex) {

case 0:

{

[self mainSceneToEditScene:nil];

break;

}

case 1:

{

break;

}

case 2:

{

[self mainSceneToAboutScene:nil];

break;

}

default:

break;

}

break;

}

caseKAboutSceneTestControlTag:

{

switch (testControl.selectedSegmentIndex) {

case 0:

{

[self aboutSceneBackMainScene:nil];

break;

}

case 1:

{

break;

}

case 2:

{

break;

}

default:

break;

}

break;

}

caseKEditSceneTestControlTag:

{

switch (testControl.selectedSegmentIndex) {

case 0:

{

[self editSceneBackMainScene:nil];

break;

}

case 1:

{

[self editSceneToBgColorScene:nil];

break;

}

case 2:

{

[self editSceneToLineColorScene:nil];

break;

}

case 3:

{

[self editSceneToLineWidthScene:nil];

break;

}

default:

break;

}

break;

}

caseKLineColorSceneTestControlTag:

{

switch (testControl.selectedSegmentIndex) {

case 0:

{

[selflineColorSceneBackEditScene:nil];

break;

}

case 1:

{

break;

}

case 2:

{

[selflineColorSceneBackEditScene:nil];

break;

}

default:

break;

}

break;

}

caseKLineWidthSceneTestControlTag:

{

switch (testControl.selectedSegmentIndex) {

case 0:

{

[selflineWidthSceneBackEditScene:nil];

break;

}

case 1:

{

break;

}

case 2:

{

[selflineWidthSceneBackEditScene:nil];

break;

}

default:

break;

}

break;

}

caseKBgColorSceneTestControlTag:

{

switch (testControl.selectedSegmentIndex) {

case 0:

{

[self bgColorSceneBackEditScene:nil];

break;

}

case 1:

{

break;

}

case 2:

{

[selfbgColorSceneBackEditScene:nil];

break;

}

default:

break;

}

break;

}

caseKDetailSceneTestControlTag:

{

switch (testControl.selectedSegmentIndex) {

case 0:

{

[self detailSceneToEditScene:nil];

break;

}

case 1:

{

break;

}

case 2:

{

[self detailSceneBackMainScene:nil];

break;

}

default:

break;

}

break;

}

default:

break;

}

}

-(void)reloadData

{

//分页符

{

UIPageControl *pageControl=(UIPageControl *)[self.mainScene viewWithTag:10010];

pageControl.currentPage=0;

pageControl.numberOfPages=self.imageList.count;

}

//内容大小

//获取滚动视图

UIScrollView *scrollView=(UIScrollView *)[self.mainScene viewWithTag:10036];

//获取滚动视图的宽度

CGFloat width=CGRectGetWidth(scrollView.bounds);

//真实内容宽度

width*=self.imageList.count;

CGFloat height=0.0f;

scrollView.contentSize=CGSizeMake(width, height);

//所有子视图

{

//删除所有子视图

while (scrollView.subviews.count!=0) {

UIImageView *itemView= (UIImageView *)[scrollView.subviews lastObject];

//移除子视图

[itemView removeFromSuperview];

}

for (UIImage *image in self.imageList) {

UIImageView *imageView=[[UIImageView alloc]initWithFrame:scrollView.bounds];

imageView.image=image;

CGFloat midx=[self.imageList indexOfObject:image]*CGRectGetWidth(scrollView.bounds)+CGRectGetWidth(scrollView.bounds)/2.0f;

CGFloat midy=CGRectGetHeight(scrollView.bounds)/2.0f;

imageView.center=CGPointMake(midx, midy);

imageView.userInteractionEnabled=YES;

//单击手机识别器

UITapGestureRecognizer *tap=[[UITapGestureRecognizeralloc]init];

//设置手势识别器需要的点击次数

tap.numberOfTapsRequired=1;

//设置手势识别器手指个数

tap.numberOfTouchesRequired=1;

//添加触发方法

[tap addTarget:self action:@selector(mainSceneToDetailScene:)];

//将手势识别器添加到图片视图上

[imageView addGestureRecognizer:tap];

//将图片视图添加到滚动视图上

[scrollView addSubview:imageView];

}

}

}

#pragma mark uiscrollview

-(void)scrollViewDidScroll:(UIScrollView *)scrollView

{

//可通过当前窗口对于坐标原点的偏移量计算页码

CGPoint offset=scrollView.contentOffset;

//计算页码

NSInteger pageIndex=offset.x/CGRectGetWidth(scrollView.bounds);

UIPageControl *page=(UIPageControl *)[self.mainSceneviewWithTag:10010];

page.currentPage=pageIndex;

}

@end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: