IOS开发简介 -02 Storyboard介绍

IOS开发简介 -02 Storyboard介绍


1.storyboard

  • storyboard,俗称故事板,即我们可以通过故事板构建软件的基础界面,可以通过拖拽的方式往里面添加控件元素,从而形成应用程序的界面,每个故事板都对应由一个控制器来管理
  • 控制器概念:任何继承UIViewController的类都是一个控制器,控制器主要是用来管理UI界面(负责管理UI界面的创建和事件的处理)
  • 通过查看storyboard的custom class可以看到与之关联的控制器
    这里写图片描述

2.main.storyboard和UIViewController连线

  • UI界面是可以和它与之对应的控制器进行连线的,我们可以通过连线的方式, 让UI界面上的元素和控制器中的代码产生一定的关系
  • 界面中的元素一般和代码中的属性和方法进行关联

    • 默认情况下,UI界面中的元素是不能和方法进行关联的,要想关联UI界面中的元素必须将方法的返回值修改为IBAction
    • 若是关联属性,则属性类型前必须添加IBOutlet
  • 可以在故事板界面点击辅助编辑器或快捷键command + option + 回车,即可打开二分界面(即打开与之关联的控制器代码)如下图
    这里写图片描述

  • 鼠标点击当前控件不放,按住control键将控件往代码中拖拽
    控件代码关联

这里写图片描述

  • 属性关联
    这里写图片描述
    这里写图片描述

  • 方法关联
    这里写图片描述
    这里写图片描述

  • 可以看到关联之后的属性和方法左边有一个实心的小圆圈,若是我们将关联取消,那么这个小圆圈会变成空心


3.IBOutLet和IBAction

  • IBAction几种连线方式
    • 1.从”控制器”往”Storyboard”连线
    • 2.从”Storyboard”往”控制器”连线
    • 3.直接在”Storyboard”中往”Storyboard”上的界面顶部连线
    • 4.直接在”Storyboard”中往”Storyboard”上的工具条连线
  • 前四种需要先定义IBAction方法

    • 5.不用先定义方法, 直接从”Storyboard”往”控制器”连线
  • IBAction连线的注意点:

    • 1.在Storyboard中拷贝元素的时候需要注意
      • 1.1拷贝的同时会将以前的连线一起拷贝
      • 1.2一个方法可以很多个控件关联
      • 1.3一个控件可以和很多方法进行连线,在开发中, 一般情况下不会这样写
    • 2.如果将按钮关联的方法删除, 运行之后会报一个经典错误
      reason: ‘-[ViewController redBtnClick]: unrecognized selector sent to instance 0x7fb4aa618e50’

    • 3.IBAction只能作为方法的返回值
      IBAction == viod

    • 4.默认情况下,iOS系统会将UI界面中触发事件的控件当做参数传递进来
  • IBOutlet的几种连线方式

    • 1.从”控制器”往”Storyboard”连线
    • 2.从”Storyboard”往”控制器”连线
    • 3.直接在”Storyboard”中往”Storyboard”上的界面顶部连线
    • 4.直接在”Storyboard”中往”Storyboard”上的工具条连线
  • 前四种需先定义IBOutlet属性

    • 5.不用先定义方法, 直接从”Storyboard”往”控制器”连线
  • 注意点:

    • 1.一个控件可以关联多个属性
    • 2.一个属性不可以关联多个控件
    • 3.在进行属性连线的时候, Xcode会自动帮我们进行类型检测, 如果类型不匹配那么不能连线
    • 4.如果将属性和控件连线之后又将属性删除了, 那么只要程序运行就会报一个经典错误
      ‘[ setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key lable.’
    • 5.注意: 任何UI控件都可以和属性进行连线.但是并不是任何控件都可以和方法连线,只有继承于UIControl的控件才可以连线
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值