UI基础UIView、Storyboard

storyboard文件的认识

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

IBAction和IBOutlet

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

storyboard连线容易出现的问题

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

UIViewController (控制器) 的认识

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

类扩展

  • 格式

    @interface 类名()

      /** 属性、方法的声明 */

    @end

  • 作用
    • 为某个类增加额外的属性和方法声明
    • 可以写在 .h.m 文件中

项目属性

  • Product Name
    • 软件名称、产品名称、项目名称
  • Organization Identifier
    • 公司的唯一表示
    • 一般是公司域名的反写,比如com.XXX
  • Bundle Identifier
    • 软件的唯一标识
    • 一般是Organization Identifier + Product Name

UIView的常见属性

  • NSArray subviews
    • 所有的子控件
    • 数组元素的顺序决定着子控件的显示层级顺序(下标越大的,越显示在上面)

UIView的常见方法

  • addSubview:
    • 添加一个子控件
    • 使用这个方法添加的子控件会被塞到subviews数组的最后面
  • 可以使用下面的方法调整子控件在subview数组中的顺序
// 将子控件view插入到subviews数组的index位置
- (void)insertSubview:(UIView *)view atIndex:(NSInteger)index;

// 将子控件view显示到子控件siblingSubview的下面
- (void)insertSubview:(UIView *)view belowSubview:(UIView *)siblingSubview;
// 将子控件view显示到子控件siblingSubview的上面
- (void)insertSubview:(UIView *)view aboveSubview:(UIView *)siblingSubview;

// 将子控件view放到数组的最后面,显示在最上面
- (void)bringSubviewToFront:(UIView *)view;
// 将子控件view放到数组的最前面,显示在最下面
- (void)sendSubviewToBack:(UIView *)view;
原文地址:https://www.cnblogs.com/shensq/p/5338045.html