UI基础第一天(知识点)

来源:互联网 发布:网络文化建设主要内容 编辑:程序博客网 时间:2024/05/18 20:51

一、iOS项目开发流程

1、想象力

有一个好的想法 ----> 再写出好的方案

2、开发步骤

搭建软件界面(UI设计) ----> 获取网络数据(多线程&网络) ----> 解析网络数据(JSON\XML) ----> 把数据展示到界面上(UI设计)

3、开发中选用框架规律

系统自带的框架 ----> 第三方提供的框架 ----> 网络中的类似代码 ----> 自己动手编写代码

二、Xcode初学者注意

1、Deployment Info的设置

  • Deployment Target(部署目标):设置为8.0,表示该程序能够运行在大于或等于iOS 8.0的设备上
  • Devices(部署的设备):可选iPhone或iPad
  • Main Interface:设置主界面,程序启动时会加载这个storyboard界面
  • Device Orientation:设置设备的方向,如下图:
       

2、Show File Inspector

  • Use Size Classes:用于定制不同的界面,可以使一个storyboard满足所有的设备,它一般与Auto Layout结合使用。初学者一般不选择,学到了再选择。
  • 注意:如果发现通过代码无法修改控件的位置或者尺寸时,应该去掉storyboard里面的Auto Layout功能,这是自iOS6开始出现的特性

3、storyboard的Show Identity Inspector

  • Class:指定控制器类。如ViewController

4、指向storyboard(故事版)的灰色箭头

         

  • 程序一启动,就会加载并显示箭头所指向的故事板,即启动时是否初始化故事版,有箭头表示需要初始化,没有箭头表示不初始化。
  • 调出箭头:storyboard的属性栏 ----> View Controller ----> Is Intial new controller

5、父控件与子控件

  • 屏幕上能看得见摸得着的,都是一个UIView控件
  • 每一个UIView都是一个容器,能容纳其他的UIView,外面的UIView的叫父控件,里面的叫子控件
  • 子控件继承父控件
  • 在父控件里,同级别的控件叫兄弟控件

6、UIViewController(视图控制器)

  • 作用:用于管理UIView,负责创建、显示、销毁UIView,负责监听UIView内部的事件,负责处理UIView与用户的交互
  • 每当显示一个新的界面时,首先会先创建一个新的UIViewController对象,然后创建一个对应全屏的UIView,UIViewController负责管理这个UIView
  • UIViewController内部有一个UIView属性:@property (nonatomic,retain) UIView * view;

7、IBAction与IBOutlet

  • IBAction
            a、相当于viod,只用于方法
            b、只有返回值类型为IBAction才有能与storyboard上的控件连线
  • IBOutlet
            a、IBOutlet只用于属性,标识其属性可以与storyboard上的控件连线
            b、IBOutlet只是一个标识,定义为  #difine IBOutlet 
            c、由定义知道,IBOutlet表示一个空格的字符常量

8、IBAction连线

  • 连线的方法
a、从.h或.m文件直接把方法前面的小圈拖到storyboard里的控件上
b、按住Ctrl键,把storyboard里的控件拖到.h或.m文件里的方法上
c、按住Ctrl键,把storyboard里的控件拖到.h或.m文件里的空白处,在弹出的对话框中填写IBOutlet或IBAction等信息,系统自动生成代码
  • 参数的个数
a、没有参数
b、带一个参数sender,sender表示触发这个事件的控件
c、带有两个参数sender和event,sender表示触发这个事件的控件,events表示触发的事件

9、补充

  • Xcode5之后,官方推荐与控件连线的属性和方法都写在类扩展里,因为不希望被其他的类调用,突出了其封装性
  • Xcode6之前还自动添加开发所依赖的框架,Xcode6后默认系统框架不再显示出来了
  • Link frameworks and libraries:添加项目所需要的框架

三、UI控件

1、UITextField(文本输入框)

  • 属性:
Text:修改文本
Placeholder:用于提示用户输入
Clear when editing begins:输入前清空
Keyboard Type:设置输入键盘类型
Secure Text Entry:隐藏输入框内容,主要用于密码输入
  • 关闭键盘:
方法一:撤销第一响应者,谁调用谁关闭,有多少个对象调用就得调用多少次resignFirstResponder,如  [self.num1TextField resignFirstResponder];
方法二:View父控件结束编辑,只要是自己或自己的子控件调用的键盘都退出,如  [self.view endEditing: YES];//YES表示强制,NO表示非强制

2、UIButton(按钮)

  • 属性:
Type ----> Custom:自定义类型
State Config ----> Default:普通状态
State Config ----> Highlighted:高亮状态
Background:设置背景图片
  • 按钮的状态:
normal(普通状态):默认情况, UIControlStateNormal
highlighted(高亮状态):按钮被按下去的时候(手指还未松开), UIControlStateHighlighted

3、UILabel(文本标签)

  • Text属性的修改
a、在storyboard里直接双击修改,UILabel的尺寸会随文子的多少自动改变
b、在属性栏里修改,UILabel的尺寸不改变

四、UIView常见的属性和方法

每一个UI控件都有自己的独特属性,但是有些属性是每个UI控件都具备的,比如每一个UI控件都有自己的位置和尺寸、都有自己的父控件、子控件。于是,所有的UI控件最终都继承自UIView,UI控件的公共属性都定义在UIView中。

1、UIView的常见属性:

  • @property(nonatomic,readonly) UIView *superview;//获得自己的父控件对象
  • @property(nonatomic,readonly,copy) NSArray *subviews;//获得自己的所有子控件对象
  • @property(nonatomic) NSInteger tag;//控件的ID\标识,父控件可以通过tag来找到对应的子控件
  • @property(nonatomic) CGAffineTransform transform;//控件的形变属性(可以设置旋转角度、比例缩放、平移等属性)
  • @property(nonatomic) CGRect frame;//控件所在矩形框在父控件中的位置和尺寸(以父控件的左上角为坐标原点)
  • @property(nonatomic) CGRect bounds;//控件所在矩形框的位置和尺寸(以自己左上角为坐标原点,所以bounds的x\y一般为0)
  • @property(nonatomic) CGPoint center;//控件中点的位置(以父控件的左上角为坐标原点)

2、UIView的常见方法

  • - (void)addSubview:(UIView *)view;//添加一个子控件view
  • - (void)removeFromSuperview;//从父控件中移除
  • - (UIView *)viewWithTag:(NSInteger)tag;//根据一个tag标识找出对应的控件(一般都是子控件)
0 0
原创粉丝点击