iOS 简单的基础知识(1)

来源:互联网 发布:微信淘宝链接转换器 编辑:程序博客网 时间:2024/05/16 05:56

storyboard的认识

  • 用来描述软件界面
  • 默认情况下,程序一启动就会加载Main.storyboard
  • 加载storyboard时,会首先创建和显示箭头所指的控制器界面

IBAction和IBOutlet

  • IBAction
    • 本质就是void
    • 能让方法具备连线的功能
  • IBOutlet
    • 能让属性具备连线的功能

storyboard连线出现的问题

  • 被连接的方法代码被删掉,但是连线没有去掉
    -可能会出现方法找不到错误
    -出现unrecongized selector sent to instance
  • 被连接的属性被删掉,但是连线没有删掉
    -可能会出现方法找不到错误
    -setValue:forUndefinedKey:]:this class is not key value coding-compliant for the key XXX

UIViewController(控制器)的认识

  • 一个控制器负责管理一个大界面
  • 控制器负责界面的创建事件处理等

类扩展

  • 格式
@interface 类名()/** 属性,方法的声明*/@end
  • 作用
    • 为某个类增加额外的属性和方法的声明
    • 可以写在.h和.m文件中

九宫格计算思路

  • 利用控件的索引index计算出控件所在的行号和列号
  • 利用列号计算控件的x值
  • 利用行号计算控件的y值

HUD

  • 指示器,遮盖,蒙版
  • 半透明
    • 背景色设置为半透明颜色

定时任务

  • 方法1 performSelector
// 1.5s后 自动调用 SEL 方法[self performSelector:SEL withObject:nil afterDelay:时间];
  • 方法2 GCD
// 多线程dispatch_after(dispatch_time(DISPATCH_TIME_NOW,(int64_t)(时间 * NSEC_PER_SEC)), dispatch_get_main_queue(),^{    //1.5s后自动这行这个block里面的代码})
  • 方法3 NSTimer
// 1.5s后 自动调用 SEL 方法[NSTimer scheduledTimerWithTimeInterval: 时间 target:self selector:SEL userInfo:nil repeats:NO];// repeats如果为YES,意味着每隔1.5s后重复调用

## 常见问题

  • 项目里面的某个.m文件无法使用 这个报错的,报错显示的结果就是这个原因,所以我们要这样操作
    • 检查:Build Phases -> Compile Source
  • 项目里面的某个资源文件(比如:plist,音频等)无法使用
    • 检查:Build Phases -> Copy Bundle Resources

模型

  • 什么是模型?
    • 专门用来存放数据的对象
    • 一遍都是一些直接集成NSObject的春对象
    • 内部会提供一些属性存放数据

一个空间看不见有哪些可能

  • 宽度或者高度其实为0
  • 位置不对(比如是个负数或者超大的数,已经超出屏幕)
  • hidden == YES
  • alpha <= 0.01
  • 没有设置背景色,没有设置内容
  • 可能是文字颜色和背景色一样

layoutSubviews (必须掌握其用法)

  • 这个方法是专门用来布局子控件,一般在这里设置子控件的frame
  • 当控件本身的尺寸发生改变的时候,系统会自动调用这个方法

尽情期待后续更新……

0 0
原创粉丝点击