准备工作
1.删除main
2.ARC -> MRC
3.删除文件(ViewController.h/.m)
4.storng -> retian(APPDlelgate.h)
5.重写dealloc(APPDelegate.m)
// AppDelegate.m
// UI01_UIView
//
// Created by dllo on 16/1/20.
// Copyright © 2016年dllo. All rights reserved.
//
#import"AppDelegate.h"
@interfaceAppDelegate ()
@end
@implementationAppDelegate
/********重写dealloc******/
-(void)dealloc{
[_window release];
[super dealloc];
}
是一个类UIWindow
创建window和当前屏幕一样大[UIScreen mainSrceen].buond];
self.window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];
设置window颜色
self.window.backgroundColor= [ UIClolor whiteColor];
设置window可见
self.window makeKeyAndVisible];
xcode7崩溃解决
self.window.rootViewController = [[UIViewController alloc] init];
内存管理
—window release];
UIview(视图基类)
视图就是屏幕上的一块矩形区域
1.创建视图 设置Frame
UIView *firstView = [[UIView alloc]initWithFrame :CGRTectMake(0, 0 ,100,100)100款 100 高
2.设置属性
firstView.backbroundColor = 【UIColor redColor];
添加到父视图(window)显示
[self.window addSubview:firstView];
内存管理
fristView release];
中心显示
数值设置(绝对坐标)
firstView.center = CGPointMake(375/2,667/2);
通过其他控件的位置设置(相对坐标)
firstView.center = self.window.center;
改变frame
firstView.frame = CGRectMake(200,100,100,200);
View的属性
显示或隐藏(如果父视图隐藏了,那么子视图也同时隐藏)
firstView.hidden = NO;
透明度(0 - 1的浮点数)
firstView.alpha = NO;
子视图会根据父视图的透明度的改变同时发生改变
子视图自身的hidden和alpha 值影响自己
父视图的hidden和alpha影响自身和所有子视图
tag值(从1000 开始)
firstView.tag =1000;
通过标记寻找视图(通过Tag值间接改变firstView的颜色)
UIView *tempView = [self.window viewWithTag:1000];
tempView..backgroundColor = [UIColor PurpleColor];
父有图(一个视图只有一个父视图)
子视图(一个子视图可以有若干个子视图)
视图从父视图移除(就彻底没了)
把子视图送到最后
self.window sendSubviewToBack:firstView];
定时器NSTimer
每隔一段时间让xx做某事
参数1.时间间隔
参数2.某事
参数3.某事
[NSTimer scheduledTimerWithTimerInterval:1 target:self @selector(suibain) userInfo:nil tepeats :YES];
UILable
创建 frame
UILabie *lable = [[UILable alloc】 initWithFrame:CGRectMake(100,100,200,100)];
属性设置
lable.backgroundColor = [UIColor yellowColor];
添加父视图
[self.window addSubview:lable];
内存管理
[lable release];
/********lable文字相关属性**********/
显示汉字(默认左对齐、居中对齐、文本黑色,行数为1 ,背景为透明色)
lable.textColor = [UIColor redColor];
文本对齐方式
lable.textAlignment = NSTextAlignmentCenter;
文本行数
默认为1 为0时行数不限
lable.numerOfLine = 0;
lable自适应(有缺陷)放在文本之后
如果文本不足一行 宽高一起改变
如果 文本超一行 值改变高
一定要写在设置text之后,如果写在之前lable的size会置为0;
字体font
lable.font = UIFont systemFontOfSize:20];
阴影shadow
lable.shadowColor = [UIColor bllueColor];
阴影偏移量
lable.shadowOffset = CGSizeMake(1,5);
UITextField 输入框
UITextField *tf = [UITextField alloc]initWithFrame:CGRectMake(100,100,100,100)];
tf.backgroundColor = [UIColor cyanColor];
[self.window addSubview:tf];
[tf release];
文本控制******/
占位字符串placeholder(提示信息)
tf.placeholder = YES;
输入控制
tf.enable = YES;
安全文本类型
tf.secureTextEntry = YES;
键盘样式
tf.keyboardType = UIKeyboardDefault;
tf.
外观控制
输入框样式
tf.boardStyle = UITextboardStyleNone;
加边框宽度
tf.layer.boardWidth = 1;
边框颜色
tf,layer.boardColor = 【UIColor lightGrayColor].CGColor;
切圆角(圆形;是正方形边长的一半)
tf.layer.cornerRAdius = tf.frame.size.width / 2;
清除按钮
tf.clearButtonMode = UITextFieldModeAlways;
UIButton 按钮
UIButton *btn = [UIButton buttonWithTypeSystem];
btn.frame = CGRectMake(100,100,100,,100);
btn.backgroundColor = [UIColor redColor];
绑定按钮点击事件(按钮点击时 能够触发一个方法)
参数1:目标(调用方法的人)
参数2:动作(调用的方法)
参数3:事件(方法的触动方法)
btn addTarget:self action:@selector(click:)forControllorEvents:UIControlEventTouchUpInside】;
self.window addSubview:btn];
按钮文字
参数1:标题内容
参数2:状态
[btn setTitle:@"正常" forState:UIControlStateNormal];
[btn setTitle:@"常量" forState:UIControlStateHightlighted];
按钮显示触摸时高亮
[btn.showsTouchWhenHightlighted = YES;
添加事件的方法(注意书写位置)
键盘回收
第一步:签订系统协议
第二步:设定代理人
第三步:协议方法
/***************只有最后一个键盘回收*****************/
每个输入框都要设置tag值
if(textField.tag==1000) {
第一个输入框失去第一响应者(失焦:失去焦点)
[textFieldresignFirstResponder];
获取第二个输入框
[[self.windowviewWithTag:2000]becomeFirstResponder];
}
if(textField.tag==2000) {
[textFieldresignFirstResponder];
}
returnYES;
}
将要开始输入时让屏幕上移露出输入框
-(BOOL)textFieldShouldBeginEditing:(UITextField*)textField{
if(textField.tag==2000) {
[UIViewanimateWithDuration:0.53animations:^{
self.window.center=CGPointMake(self.window.center.x,self.window.center.y-258);
}];
}
returnYES;
}
将要结束时让屏幕下移
-(BOOL)textFieldShouldEndEditing:(UITextField*)textField{
if(textField.tag==2000) {
[UIViewanimateWithDuration:0.53animations:^{
self.window.center=CGPointMake(self.window.center.x,self.window.center.y+258);
}];
}
returnYES;
}