史上最简单的iOS教程(一)

本节目录

  • storyboard文件的认识
  • UIViewController
  • IBAction
  • IBOutlet
  • 关于IBAcion和iBOutlet前缀IB的解释
  • 类拓展
  • 常见的错误
  • 模拟器常见功能
  • UIView的常见属性-父子控件,常见属性,位置尺寸

storyboard文件的认识

  1. 作用:描述软件界面
    • 应用程序的启动原理:(1)当应用程序启动的时候,首先会加载一个storyboard (2)加载storyboard里面的控制器:箭头所指向的控制器(3)控制器会创建(加载)一个属于控制器的view
    • 配置程序一启动就会加载Main.storyboard文件

这里写图片描述


UIViewController

  1. 概念:凡是继承自UIViewController的对象,都叫做控制器
  2. 注意:每一个控制器都会专门管理一个软件界面
  3. 作用:负责处理软件界面的各种事件,并负责软件界面的创建和销毁

IBAction

  1. 只能修饰方法返回值类型
  2. 被IBAction修饰的方法:(1)能拖线到storyboard中(2)能拖线到storyboard中
  3. 使用格式:

    -(IBAction)butnClick{}

IBOutlet

  1. 只能修饰属性
  2. 被IBOutlet修饰的属性能拖线到storyboard中
  3. @property(nonatomic, weak)IBOutlet UILabel *label

关于IBAction和IBOutlet前缀IB的解释

  1. IB全称:Interface Builder
  2. 以前UI界面开发模式:Xcode + Interface Builder
  3. 从Xcode4开始,Interface Builder已经整合到Xcode中

类扩展

  1. 作用:能为某个类增加额外的属性,成员变量,方法声明
  2. 一般将类扩展写到.m文件中
  3. 使用格式
    @interface 类名() /*属性,成员变量、方法声明*/@end
  4. 与分类的区别
    (1)分类的小括号必须有名字
    @interface 类名(名) /*方法声明*/@end
    @implementation 类名(名) /*方法声明*/@end
    (2)分类只能扩充方法
    (3)如果在分类中声明了一个属性,分类只会生成这个属性的get\set方法的声明,不会有实现

常见的错误

  1. 错误1:this class is not key value coding-compliant for the key lable

    • 原因:属性代码被删掉了,但是属性连线还在/
    • 解决:删除多余的连线
  2. 错误2:unrecongnized selector sent to instance ******
    • 原因:调用了一个不存在的方法/
    • 解决:认真检查方法名,使用正确且存在的方法名

模拟器常见功能

  1. 横竖屏的使用
  2. 回桌面

UIView的常见属性-父子控件,常见属性,位置尺寸

  1. 父子控件

    • 01-每个控件都是个容器,能容纳其他控件
    • 02-内部小控件是大控件的子控件
    • 03-大控件是内部小控件的父控件
    • 04-每一个控制器(UIViewController)内部都有个默认的UIView属性
  2. 常见属性

    @property(nonatomic,readonly) UIView *superview;
    获得自己的父控件对象
    
    @property(nonatomic,readonly,copy) NSArray *subviews;
    获得自己的所有子控件对象
    
    @property(nonatomic) NSInteger tag;
    控件的ID(标识),父控件可以通过tag来找到对应的子控件
    
    @property(nonatomic) CGAffineTransform transform;
    控件的形变属性(可以设置旋转角度、比例缩放、平移等属性)
    
  3. 常见方法

    - (void)addSubview:(UIView *)view;
    添加一个子控件view
    
    - (void)removeFromSuperview;
    从父控件中移除
    
    - (UIView *)viewWithTag:(NSInteger)tag;
    根据一个tag标识找出对应的控件(一般都是子控件)
    
    
  4. 位置和尺寸

    @property(nonatomic) CGRect frame;
    控件矩形框在父控件中的位置和尺寸(以父控件的左上角为坐标原点)
    
    @property(nonatomic) CGRect bounds;
    控件矩形框的位置和尺寸(以自己左上角为坐标原点,所以bounds的x、y一般为0)
    
    @property(nonatomic) CGPoint center;
    控件中点的位置(以父控件的左上角为坐标原点)
    
  5. UIKit坐标系
    在UIKit中,坐标系的原点(0,0)在左上角,x值向右正向延伸,y值向下正向延伸
  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值