#pragma mark - 如何利用Button来实现两个界面的切换
//1. bringtfront
//2.模态跳转
//3.轻划 来切换
//4.导航视图控制器 push pop
#pragma mark - 总结 UIView 都是创建框框的
/*
NOBject-->UIImage
NOBject-->UIResponder-->UIView--> (1)UILable (框框)
(2)UIImageView (图片)
(3)UIControl -->1.UIButton(按钮,点击切换图标-点对勾)
2.UITextField(可以自己输入的文本框)) 7个协议
3.UISwitch(开关)
4.UIStepper(音量 + -)
5.UISlider(控制条)
6.UISegmentedControl(通信, 信息)
7.UIPageControl (滑动点)
(4)UIActionSheet
(5)UIAlertView (警告框)
(6)UIScrollView(滑动页面) 1个协议
(7)UIActivityIndicatorView 可以转圈圈的
-->UIViewController 又初始化方法
*/
#pragma mark - 1.UIView 文本框(缩小多大, 弧度大小)
//第一步创建主屏大小 颜色 添加 vc3步
//UIView一个父视图可以有很多子视图,一个子视图只可以有一个父视图
// [self.window addSubview:thirdView]; 确立父视图是谁
//子视图的坐标是相对于父视图的坐标系的,所以在设置位置的时候一定要清楚,当前视图的父视图的位置.
//层级关系:先添加到数组里的位置在下面,而后添加的加在层级上面(井)
// 可以通过父视图来调整对应的子视图的层级关系.
//一些属性:
// thirdView.alpha = 0.5; //透明度
// thirdView.hidden = YES; //隐藏 default 父视图隐藏掉后,他的子视图因为对应的坐标不在后,也跟着消失.
// secondView.center = CGPointMake(100, 100); //改变中心到(设置的中心).
// [self.window bringSubviewToFront:secondView]; //层级关系
// [self.window sendSubviewToBack:secondView];
// [UIView animateWithDuration:2 animations:^{firstLable.frame = CGRectMake(10, 20, 10, 10);} ];//-->从原来的地方移到另一个地方(大小发生变化) uiview里的firstLable 由 以前的变为括号里的
#pragma mark - 2.UILable 写字的文本框 设置边框并且可以根据字数调整最大行->自适应
//UIView -->UILable 写字的文本
//一些属性:
// firstLable.text = @"王景伟sadasffESFTLKHElkhegihLEGKHLKEgh"; //设置lable里的内容
// firstLable.textAlignment = 1; //设置lable的对齐方式,默认是左对齐.0 中间 1 , 右 2.
// firstLable.textColor = [UIColor blackColor]; // 字体颜色.
// firstLable.font = [UIFont systemFontOfSize:20]; //字体大小
// firstLable.layer.borderWidth = 2; //设置lable(里缩)边框
// firstLable.layer.cornerRadius = 5; //边框弧度大小
// firstLable.layer.masksToBounds = YES; //隐藏多余的部分 bounds 边界
// firstLable.numberOfLines = 0; //lable对应的行数(之前全在中间且默认一行); 0 当前字体可以的最大行数
// [firstLable sizeToFit]; //根据文本与自体大小来改变lable的大小 如果先设置 会出现lable消失的问题.
// NSLog(@"%g",firstLable.frame.size.height); //先是getter方法 后面是结构体取值
// firstLable.shadowColor = [UIColor blackColor]; //阴影颜色
// firstLable.shadowOffset = CGSizeMake(2, 2); //阴影移动大小
#pragma mark - 3.UIImageView(插入图片)
// UIView -->UIImageView(插入图片)
// imageView.image = [UIImage imageNamed:@"a004.jpg"]; //添加图片 以UIImage大小为准
// imageView.frame = CGRectMake(100, 100, image.size.width,image.size.height); //图片原来的大小
//初始化一个用来装所以图片的空数组
/**功能 创建三部曲 1.建立UIimageview 2.创建图片数组 3. 播放**/
// NSMutableArray *picArr = [NSMutableArray array];
// for (NSInteger i = 0; i < 26; i++) {
// NSString *picName = [NSString stringWithFormat:@"angry_%02ld.jpg",i];
// UIImage *image = [UIImage imageNamed:picName];
// [picArr addObject:image];
// }
// //通过imageview播放套图
// imageView.animationDuration = 1; //图片一共播放的时间
// imageView.animationImages = picArr; //
// imageView.animationRepeatCount = 1; //播放的次数
// [imageView startAnimating];
#pragma mark - 4.UIButton(1.上面可以写字2.图片) 特殊有遍历构造器 方法实现必须靠点击
// 4.UIView -->UIControl -->1.UIButton
//1.按钮上添加文字
// [button setTitle:@"确定" forState:UIControlStateNormal]; //状态可以多样 不知道什么样
//** //2.按钮上添加图片
//两种button基本上是一样的,就是system 设置的时候文字--图片(无法显示)默认是蓝色,而customer文字默认是白色,
//在设置提片的时候,(遍历构造器)system使用setlmage图片无法显示,而custome可以
// [button setImage:[UIImage imageNamed:@"check.png"] forState:UIControlStateNormal];
// [secButton setBackgroundImage:[UIImage imageNamed:@"BtnOff.png"] forState:UIControlStateNormal]; //铺满
/**功能**/
// [button addTarget:self action:@selector(changePic:) forControlEvents:UIControlEventTouchUpInside]; //给button点击方法.forControlEvents:人操作的(触发条件) //点击方法.可以多样 --没研究
// button方法的实现 必须靠点击 在外面点击一次执行一次方法
#pragma mark - 5. UITextField(7个协议方法) 与BUtton混合使用(确认密码)
//UIView-->UIControl -->UITextField
//属性
// field.placeholder = @"afwhgk"; //输入内容. 不用输入直接显示
// field.text = @"汉字"; //输入内容.
// field.secureTextEntry = YES; //安全输入-->变成黑圈圈
// // field.keyboardType = 5; //改变输入法
// // field.returnKeyType = UIReturnKeyGoogle; //修改return按钮的样式.
// // field.clearButtonMode = UITextFieldViewModeAlways; //xx存在
// field.layer.cornerRadius = 10; //边角弧度
// UIView *view = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 0, 50)];
// view.backgroundColor = [UIColor groupTableViewBackgroundColor];
// field.inputAccessoryView = view; //给textfield(输入框)添加一个辅助视图.
// field.inputView = view; //弹出自定义视图,可以用来弹出自己设置的键盘.
// secButton.layer.borderWidth = 1;
// secButton.layer.cornerRadius = 10;
/*
* textFieldShouldBeginEditing 点击框框的那一刻(编辑开始)-->判断textfield是否在view中心-->不在的话上去
* textFieldShouldEndEditing 输入法下去的时候(编辑结束)-->上去的话再下来
* textFieldShouldReturn 点击return的时候
*/
// 监听输入的内容
#pragma mark - 6.模态跳转 4步
/* 里 面 的 方 法 (事件) */
/*模态跳转
// 1.创建目标页面的对象
SecondViewController *secVC = [[SecondViewController alloc]init];
// 2.设置跳转的动画样式 4种动画
// secVC.modalTransitionStyle = UIModalTransitionStyleCoverVertical; //下面出来
secVC.modalTransitionStyle =UIModalTransitionStyleFlipHorizontal; //翻滚
// secVC.modalTransitionStyle =UIModalTransitionStyleCrossDissolve; //直接消失
// secVC.modalTransitionStyle = UIModalTransitionStylePartialCurl; //翻页
// 3.向目标页面进行跳转
[self presentViewController:secVC animated:YES completion:^{}];
// 4. 内存管理
[secVC release];
*/
// [self dismissViewControllerAnimated:YES completion:^{}]; //跳转
#pragma mark - 7.UIAlertView 警告框<协议>
// UIAlertView *alert = [[UIAlertView alloc]initWithTitle:
#pragma mark - 8.建立模板(重写init[里面( [self addSubview:self.imageView];)建立模板]) 自己没有view
//他是父类的子类
#pragma mark - 9.事件和手势(NSobject里的方法)
/**
* UIViewController
* 1.初始化
* 2.viewDidLoad //视图已经被加载
* 3.viewWillAppear //
* 4.viewDidAppear
* 5.viewWillDisappear
* 6.viewDidDisappear
*/
//事件 摇一摇 触摸 遥控
/*
* 摇一摇
* motionBegan:
* motionEnded:
*/
/*
* 触摸
*touchesBegan-->可以写视图谁鼠标一起移动
*touchesEnded-->可以写靠边移动
*touchesCancelled
*touchesMoved-->可以写lable随鼠标进行移动
*/
/*
* 7种手势 --->1.初始化一个手势 2.给视图添加手势
* 在使用图片手势的时候必须先 打开用户交互
* 1. UITapGestureRecognizer 轻点
* 2. Longpress 长按
* 3. Rotation 旋转(找到作用视图)rotation.view
action里写 self.myImageView.transform = CGAffineTransformMakeRotation(rotation.rotation);
* 4. Pinth 捏合(等比)
* 5. Pan 拖拽(111)-->可以写随鼠标移动
CGPoint point = [pan translationInView:self.myImageView]; // 当前手势经过的坐标
self.myImageView.center = CGPointMake(self.myImageView.center.x + point.x, self.myImageView.center.y + point.y);
[pan setTranslation:CGPointZero inView:self.myImageView]; //坐标归0
* 6. Swipe 滑动
* 7. ScreenEdgePan 只可以加在self.view上
*/
#pragma mark - 10.音乐播放器
//->父类UIControl 子类:1.UISwitch(开关) swit.isOn 开关的值 0 - 1
// 2.UIStepper(音量 + -) stepper.value 总值100 + - 变化
// 3.UISlider(控制条) slider.value 控制条的值
// 4.UISegmentedControl(通信, 信息) seg.selectedSegmentIndex 坐标点 0-1-2
//@property (nonatomic, retain)AVAudioPlayer *plear; //播放视频
/*
NSString *path = [[NSBundle mainBundle]pathForResource:@"樊凡 - 我想大声告诉你" ofType:@"mp3"];
NSLog(@"%@",path);
NSURL *url = [NSURL fileURLWithPath:path];
self.plear = [[AVAudioPlayer alloc]initWithContentsOfURL:url error:nil];
NSLog(@"%g",self.plear.duration); //总时长
self.plear.currentTime 当前播放的时间点
*/
#pragma mark - 11.UIScrollView 1个协议 与UIPageControl 混合使用
//scrollView.contentOffset 当前页面
/*
* 滑动完全结束的时候触发方法
* scrollViewDidEndDecelerating
*/
//设置了缩放比例(并且要签订协议)才可以缩放.
//pageControl.currentPage 当前的点
// 缩 放 与 滚 动 的 关 键
//上面两层scollerView [self.view addSubview:scrollView]; [scrollView addSubview:smallScroll];-->可以缩放
//第一层一个大的 第二层有9个 scollerView
// --------------------------->子视图是imageView
// scroller.pagingEnabled = YES; /*按 页 去 滑 动*/
// scroller.bounces = NO; /*设置边界回弹*/
// scroller.showsHorizontalScrollIndicator = YES; //隐藏水平滚动条
//
// int count = 0;
// count++;
// int b = count;
// NSLog(@"%d",b);
#pragma mark - 11.导航视图控制器 (1.页面跳转 2.传值 )
/* //第一步 创建导航视图控制器
RootViewController *rootVC= [[RootViewController alloc]init];
//创建导航视图控制器
UINavigationController *naVC =[[UINavigationController alloc]initWithRootViewController:rootVC]; //rootVC 加入数组
// self.navigationController.viewControllers 数组 -->创建一个添加一个
//把导航视图控制器设置成window的根视图控制器 20 64
self.window.rootViewController = naVC; //默认半透明的
NSLog(@"%@",naVC);
[rootVC release];
[naVC release];
*/
/*
//2.设 置 外 观 样 式
self.view.backgroundColor = [UIColor redColor];
NSLog(@"%@",self.navigationController);
//这 个 属 性 可以设置当前导航视图控制器是否半透明,默认是半透明的,会影响坐标系
self.navigationController.navigationBar.translucent = NO; //设置为不透明==影响坐标系的原点
//3.修 改 导 航 试 图 控 制 器 的 背 景 颜 色 不是所有的背景颜色都是backgroundcolor
self.navigationController.navigationBar.barTintColor = [UIColor grayColor];
//4.修 改 里 面 的 内 容
//self.title = @"链家";
//self.navigationItem.title = @"链家";
//UISegmentedControl *seg = [[UISegmentedControl alloc]initWithItems:@[@"消息",@"通话"]]; //中间的
//self.navigationItem.titleView = seg;
UILabel *lable = [[UILabel alloc]initWithFrame:CGRectMake(100, 0, 100, 100)];
lable.text = @"内容";
self.navigationItem.titleView = lable;
//5.创建左右两边的按钮
*/
/* //6.跳转
//1.想创建目标页面对象
SecondViewController *secondView = [[SecondViewController alloc]init];
//2.跳转
[self.navigationController pushViewController:secondView animated:YES];
[secondView release];
3.往回跳
[self.navigationController popViewControllerAnimated:YES]; // 跳到上一页
// [self.navigationController popToRootViewControllerAnimated:YES]; //调到第一页
*/
//7.传值
/*
* 1.从前往后传值
1.(第二个页面设置个属性 与跳转结合-->即创建好页面后(第一个页面))
2. 把要传过去的内容,通过目标页面的属性进行传递.
secondView.str = self.myTextField.text;
3.在第二个页面能使用值
* 2.从后往前传值<代理6步>
* 1.写协议
* 2.写属性
* 3.
*
*/