• IOS开发(九):场景


    一、多场景故事板

    1、基础

    视图控制器(ViewController):负责管理用户与其IOS设备交互的类;
    场景(Scene):视图控制器和视图的独特组合;
    切换(Segue):切换是场景的过渡,常使用视觉过渡效果;
    模态视图(Modal View):在需要进行用户交互时,通过模态视图显示在另一个视图上;
    关系(Relationship):类似于切换,用于某些类型的视图控制器,如选项卡栏控制器。关系是在主选项卡栏的按钮之间创建的,当用户触摸这些按钮时会显示独立的场景;
    故事板(Storyboard):包含项目中场景、切换和关系定义的文件。

    故事板提供了一个空间,让用户能够以可视化方式描述应用程序的设计和工作流程。每个场景都是一个用户将遇到的屏幕。每个切换都是场景间过渡。

    2、简单示例

    1)、创建一个新的项目,选择Single View模式,只包含一个视图控制器和视图,也就是说只包含一个场景。
    2)、在故事板中添加场景:在IB中打开storyBoard,在对象库中选取View Controller,将其拖动到IB编辑器的空白区域,这样就在故事板中成功地添加了一个视图控制器和相应的视图,从而新增了一个场景。

    3)、给场景命名

        默认情况下,每个场景都会根据其视图控制器类来命名,在项目中已经有一个名为ViewController的类了,所以在文档大纲中,默认场景名为ViewController Scene。而现在新增的场景还没有为其指定视图控制器类,所以该场景也名为ViewController Scene。如果继续添加更多的场景,这些场景也都会被命名为ViewController Scene。

        为了解决同名问题,有两种办法:
        一是添加视图控制器类,并将其指定给新场景;
        二是根据自己的意思来给场景指定名称,这样往往更有意义。

    选择视图控制器,打开属性Identity Inspector并展开,然后在文本框Label中输入场景名。Xcode将自动在后面添加Scene,因此我们无须添加Scene。

        

    4)、添加提供支持的视图控制器子类

        在故事板中添加新场景后,需要将其与代码关联起来。在模板Single View Application中,已经将初始视图的视图控制器配置成了类ViewController的一个实例,并且有它的ViewController.h和ViewController.m文件。

    同样,现在为了支持新的场景,需要在项目中添加UIViewController的子类。添加办法是在项目导航器可见的情况下,点击左下角的"+"按钮,然后选择"NewFile"选项。

        

    最后将新添加的类加入项目,点击Create按钮,就好了。

    这时候,新场景就像是一个新的应用程序,和默认的场景是彼此独立的,不能在该场景和原来的场景之间交换数据,也不能在它们之间过渡。

    5)、创建切换

        最简单的方式是,在第一个场景上添加一个按钮,按住Control键,拖动到第二个场景,松开鼠标会弹出一个故事板切换框:

    一般选择modal(模态)过渡,其它切换用于特殊情形,且仅在这些情形下才管用。

    将切换加入到项目后,可以看到两个场景之间有一条线将它们连接在一起:

    现在运行项目,点击默认场景的Button按钮,会跳出第二个场景。

    注:
    从开始到现在,都没有编写任何代码,就能在场景之间切换。但是这有它的局限性:
    不能以编程方式与这样的切换交互;
    切换到目标视图后,就不能返回到原来的视图,为了返回到原来的视图,需要编写代码。

  • 相关阅读:
    js 实现商品放大镜效果
    Angular.js数据绑定时自动转义html标签及内容
    Sublime 快捷键一览表
    这么牛的简历,你见过么?
    正向代理与反向代理
    负载均衡
    redis搭建与安装
    svn服务配置和日常维护命令
    Mysql导出导入
    linux搭建svn服务器
  • 原文地址:https://www.cnblogs.com/xsjayz/p/3012635.html
Copyright © 2020-2023  润新知