UIlable —— 在屏幕上显示文字
「
lable.Text = @“”(赋值)
lable.frame = CGRectMake(左上角坐标, 巨型的长, 宽, 高) (显示的位置) (sect: 巨型)
lable.backgroundColor = [UIColor whiteColor] (巨型背景颜色)(clearColor没有颜色)默认是什么颜色?
lable.testAlignment = NSTEXTALignmentRight(or Center) 在矩形中的对齐方式(默认做左对齐) (Alignment: 按直线排列)
lable.numberOfLines = 2 (文字行数, 默认为一, 太长会是省略号, 行数如果超过不变, 如果是0, 对文字自动计算行数, 并显示)
self.view.backgroundColor = [] (背景色)
lable.test,color = [UIColor blackColor] (文字颜色)
[self.view addSubview: lable] (加到视图上)
lable.font = [UIFont systemFontOfSize: 12] (设置文字大小systemFont:系统默认字体) (font:字体)
lable.shadowColor = [] (阴影颜色)
Lable.shadowOffSet = CGsizeMake(10, 10) (阴影偏移)(横向偏移量和纵向偏移量)
UIButton(创建方法为类方法)
UIButton but = [UIButton buttonWithType: UIButtonTypeRoundRect] (类名加方法名创建)
but.frame() (按钮位置)
[but setTitle: @“按钮1” forState: UIControlStateNormal] (普通状态显示按钮1, 按住时显示按钮按下)
[but setTiyle: @“按钮按下” forState: UICOntrolStateHIghLighted]
[self.view addSubView: but] (添加到视图上)
but.backgroundColor = [UIColor grayColor]
[but setTitleColor: [UIColor reaColor] forState: UIControlStateNormal] (设置文字颜色, 按下状态不设置时, 和按钮1状态相同)
[but setTinColor: [UIColor whiteColor]] (设置风格颜色, 会影响文字的颜色, 如果已经设制setTitleColor, 则它不起作用)
but.titleLable.font = [UIFont systemFontOfSize: 12] (设置按钮文字字体大小)
图片按钮
UIButton btnImage = [UIButton buttonWithType: UIButtonTypeCustom]
UIImage* icon01 = [UIImage imageNamed: @“图片名加扩展名”] (创建图片,图片要拖过来, 1.jpg)
[btnImage setImage: icon0 forState: UICOntrolStateNormal] (创建普通状态下的btnimage的图片)
UIButton事件
向按钮添加事件;
(已创建一个Unbutton* btn)
参数一:实现此函数的对象
参数2: @selector(pressBut)当按钮满足参数3事件时,调用函数pressBut(方法)
参数3:UIControlEventTouchUOutside:当手指离开鼠标时,鼠标所指位置在OUtside(按钮外)down(触碰时)
[btn addTarget:self action: @selector(pressBtn)forControlEvents:UIControlEventTouchOutside] (添加事件)
多个按钮可用同一事件,为了区别添加tag, but1.tag = 101, but2.tag = 202, 在@selector方法中用if else区别;
UIImageView
序列图
图片显示在屏幕上的大小由载体决定,载体可能会对图片拉升它的frame可以写image.size.width和image。size。hight
UIImage的载体
内容模式
imageview.contentMode = UIViewContentModeCenter (设置内容模式可以使图片保持原样)
imageView.contentMode = UIViewContentModeScaleToFill (默认模式:拉伸充满整个载体,改变比例)
ScaleAspectFill (不改变比例拉伸到大的一边,会超出)
ScaleAspectFit (不改变比例拉伸充满小的一边没)
动画
#if 0
#end if注释
添加图片到imageview,for循环存入ImageArray数组
UIImage* image = [[UIImage imageNamed: [NSString stringWithFormat: @“%d.jpg”, i]]
[imageArray addObject: image]
放到动画数组
imageView.animationImages = imageArray
设置图片播放周期(秒)
ImageView.animationDuration = 2 (animation: 动画片制作 duiation: 持续时间)
执行次数
imageView.animatiionRepatCount = 10
开始播放指令
[imageView startAnimating]
UITextView (可滚动文本)
UITextView* textView = [UITextView alloc] init]
UITextEditable = YES (可编辑)
UITextUserInteractionEnable (可滚动)
(回收可在touchesbegan协议中回收键盘)
UIView
改变图片位置
UIview是UILable,UIButton等屏幕上能看到的对象的父类
UIView* view = [[UIView alloc] init]
也要添加到视图上叫子视图
视图的隐藏
view.hidden = YES (隐藏) (默认值为NO)
视图的透明度
view.alpha = 1 (b不透明) (= 0 透明)(为1到0之间到值)
view.opaque = YES
【view removeFromSuperView】 (将自己从父亲视图删除)
视图的遮挡关系 后添加的覆盖前面添加的
将某一视图调整到最前面
[self.view bringSubviewToFront: view1] (把view1调整到最前面,view1完全显示)
将某一视图调整到最后面
[self.view sendSubviewToBack: view1] (把view1调整到最后面)
self.view.subviews[2] (self.view管理的所有子视图的数组)
view.superview (view的父视图)
UIWIndow 窗口对象即屏幕(本来自己有, 但是没特征, 就是屏幕, 不显示, 在应用开发中,将某些界面覆盖在所有界面的最上层,,这个时候可以手工创建一个新的UIWindow,UIWindow一旦创立它就会被添加到这个界面上, 整个程序中,只有一个window, 所有VIew都有Window属性, window只有一个, 所有view的window都指向self的weindow)
创建是UIDelegant的属性
self.WIindow = [UIWindow alloc] initWithFrame: [UIScreen main screen].bounds] (UIScreen mainScreen].bounds) 表示获取主屏幕的信息值 (UIScreen 屏幕类)
需要创建视图控制器
self.window.rootViewController = [UIViewController alloc] init]
使window有效并显示在屏幕上
【self.window makeKeyAndVisible】
UIViewController (==========================两个viewController实现的先后顺序为 为什么要重写????)
创立视图窗口
self.window =
创建视图控制器 (视图控制器用于管理界面和处理界面的逻辑类对象)
self.window.rootViewController =
创建视图控制器对象
ViewController *VcRoot =
赋值
Self.window.rootViewController = VcRoot
[self.window makeKeyAndVisable]
· -(void)viewWillAppear: (BOOL)animated (视图显示前, BOOL表示是否有动画切换)
-(void)viewWillDisappear: (BOOL)animated (视图即将消失, BOOL表示是否有动画)
-(void)viewDidAppear: (BOOL)animated (视图已显示)
-(void)viewDidDisappear: (BOOL)animated (视图已消失)
(新建一个视图, 实现视图间的切换用-(void)touchesBegan)
显示一个新的视图控制器到屏幕上
(P1: 新的控制器对象,P2: 是否有动画效果, P3: 切换结束后功能调用, 不用时传nil)
[self presentViewController: vc animated: YES completion: nil]
(当前视图控制器消失)
[self dismissViewControllerAnimated: YES completion: nil]
UITextFiled(文本输入框:是成员变量,只能输入单行文本, 继承UIControl, UIControl、继承UIview)
为什么是成员变量???
创建
self.textFiled = [[UITextFiled alloc] init]
Self.textFiled.font = [UIFont systemFontOFSize: 12]
边框风格:
self.textFiled.borderStyle = UITextBorderStyleRounderRect (圆角风格)
Line (线框风格)
Bezel (bezel线框)
None (无边框风格)
虚拟键盘风格:
self.textFiled.keyboardType = UIKeyboardTypeNumberPad (纯数字风格)
Default (默认风格)
NamePhonePad (字母和数字组合风格)
提示文字
self.textFiled.placeholder = @““ (当文本框无文字时显示此条信息 : 浅灰色)
是否作为密码输入
self.textFiled.secureTextEntry = YES (圆点, NO:正常显示输入文字)
键盘收回:
-(void)touchesBegan。。。。。
[self.textfiled resignFirstRespondor]; (不在作为第一消息响应者, 即键盘收回)
加入到view
[self.view addSubVIew: self.textFiled]
执行协议语句
self.testfile.delegant = self
协议:
testFIleDIdBeginEditing: (开始编辑时, 可在里面输出什么)
testFileDidEndingEditing: (结束编辑时)
(BOOL)testFileShouldBeginEditing (是否可以开始)
(BOOL)TextFileShouldEndEditing (是否可以结束)
UIScrollView (滚动视图:对视图内容可滚动查看, 由view构成, 不是image构成, image不能决定自几位置)
UIScrollView* sv = [[UIScollView alloc] init]
Sv.frame = CGRectMake() (只是一张图片的大小)
sv.pagingEnabled = YES (是否按照整页滚动) (一张显示,No可以是两张拼一起)
sv.scorllEnabled = YES (是否开启滚动效果)
sv.contentSize = CGRectMake(320*5, 576) (设置画布大小, *5看是几张图片)
sv.bounces = YES (是否开启边缘弹动效果) (是否可以往下拉,显示背景)
sv.alwaysBounceHorziontal = YES (开启横向弹动) (horziontal:横向, vertial:纵向)
sv.alwaysBounceVertial = YES (开启纵向弹动)
sv.showsHorizontalScollIndicator = YES (显示横向滚动条)(滚动条画布大小大于屏幕大小时)
sv.showsVertialScrollIndictor = Yes (显示纵向滚动条)
Sv.userInteractonEnabled = NO (是否可以点击屏幕实现,默认NO )
将图片添加到视图:
for(int I= 1; I<= 5; I++) {
NSString* strName = [NSString stringWithFormat: @“%d.jpg”, I];
UIImage* image = [UIimage imageNamed: strName];
UIImageView* view = [[UIImageView alloc] initWithImage: image];
view.frame = CGRectMake()
[sv addSubView: view]
}
[self.view addSubView: sv]
点击跳转:
-(void)touchesBegan
scollView。contentOffSet = CGPointMake()
协议:
-(void)scrollViewDidScroll: (scrollVIew.contentOffSet.y:表示画布关于y轴的偏移量, 用于监控视图的位置)
-(void)scollViewDidEndDragging (滚动视图结束拖动时)
-(void)scollViewWillBeginDragging (即将开始拖动时)
-(void)scollViewWillBeginDecelerating (即将减速) (will或者did begin或者did)(结束瞬间速度最大wilbegindecelerate)
================array objectatindex: section ???
UItableView (表格, 两个代理, 是成员变量一个UITableView, 一个数组)
UITableView声明了一个NSIndexPath类, 有section和row两个属性, 分别是组和组中的第几行
协议 <UITableViewDelegate, UITableViewDataSource>
数据视图用来显示大量相同格式的信息的视图:电话通讯类
tableView = 【UITableView alloc】 initwithFrame: self.view.bounds style:
数据视图: 位置
风格UITableViewStyleplain : (普通风格)
GroupPed (分组风格 中间有空)
tableView.tableHeadView = nil; [头部视图]
tableView.tableFootView = nil; (尾部视图)
[tableView reloadData] (数据源变化时更新数据视图,重新加载数据)
必须要实现的协议:
-(NSInteger) tableView: (每组元素个数) (p1:数据视图对象本身, p2: 那一组需要的行数)
return:元素个数
-(NSInterger)numberOfSectionsInTableView: (数据视图组数)
return:组数
- (UITableViewCell*)tableView (创建单元格的函数)
NSString* strID = @“ID”;
UITableViewCell* cell = [tableView dequeReusableCellWithIndentifier: strID] (尝试获得标示为strID的tableView可复用的单元格, 得不到时返回为空, cell有风格和标示)
If(cell == nil) (尝试失败时, 创建一个)
「。 cell = [UITAbleViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIndentifier:strID】
cell.textTable.text =
Cell.detailTextLable.text = @“123” (子标题)
Return cell
协议函数:
-(CGFioat)tableView:。。。title (获取单元格的高度)
-(NSString*) tableVIew 。。。forHeader (在单元格头部写标题)
return;@“头部标题”
-(NSString*) tableView 。。。forFooter (在尾部写标题)
-(CGFloat)tableView 。。。hightForheader (头部标题高度)
-(CGFloat)tableView。。。highForFooter (尾部标题高度)
高级协议
导航按钮
添加成员变量:UIBarButtonItem* -btnEdit (导航按钮)
UIBarButtonItem* —btnFinish
UIBarButtonItem* —btnDelete
BOOL —isEdit (设置编辑状态)
做导航控制器
UINavigationController *nav = [[UINavigationController alloc] initWithViewController: [viewController alloc] init]]
UIBarButtonItem : Title: style: Target: action: @selector()
Self.navigationTtem.rightBarButtonItem =
单元格显示状态UITableViewCell默认为红色(delete)
-(UITableViewCellEditingStyle)tableView: [tableView setEditing: YES] (会在单元格上显示删除的减号)
「
return UITableViewCellEditingStyleDelete (默认为删除Insert插入状态, none虚空状态, UITableViewDelete|UITableViewInsert多选状态)
-(void)tableView: 。。。。commit (滑到单元格 w)
-(void)tableView。。。。Select (选中单元格)
分栏控制器:(平行, 最多五个一个界面)