zoukankan      html  css  js  c++  java
  • StoryBoard 简单使用

    StoryBoard简单使用

        故事版(storyboard)是一种简洁的图形界面,程序员可以采取拖的形式搭建一个界面,现在使用的xcode默认都会创建一个main.storyboard,作为app的入口。

    1、修改rootVC,默认的rootVC是系统帮我们创建的ViewController,我们可以通过eidtor—embed in来修改rootVC:

    2、拖拽控件,并设置出口

    控件分为很多种,一是只显示的,我们可以从右下角菜单直接拖到故事版,然后在右侧菜单设置一些属性即可

     

    二是拖到界面后,我们需要在代码中对其进行修改,那么我么就需要设置其出口:首先点击右上角,将xcode一分为二,然后右侧文件改为此storyboard对应的.h文件:然后在左侧故事板中选中控件,按住control,同时用鼠标点中控件,不要松开,往右侧的.h文件中拖,会出现一个蓝线,记住,蓝线终点位置要在@@interface下,@end上:松开手指和鼠标,会弹出一个视图connection代表出口,name则是控件名称。

    如果是button之类的控件,重复上面的操作,在弹出框中修改connection为action:

    ,name表示要生成的方法名

    3、       添加一个故事版,在实际应用过程中,我们会需要不止一个界面,我们需要添加新的,那么我们只需要在main.storyboard的窗口中拖进去一个View controller即可:

    ,视图上方有三个选项,第一个代表要绑定的Viewcontroller文件:

     

    4、       界面跳转(segue),页面跳转有两种方式,第一种就是通过控件直接拖拽,选中控件,按住control+鼠标左键,拖进要跳转到的界面,松开会弹出跳转方式,选择一种即可

    第二种是利用ViewController与ViewController之间,拖拽添加segue,并给segue添加identifier。这种方法就需要在相应需要跳转的方法内写入代码,手动去设置它的跳转。

    - (IBAction)buttonClicked:(id)sender {

        [self performSegueWithIdentifier:@"vc2" sender:self];

    }

    跳转的方式我们可以自行设置:

     

    5、界面传值,A跳转到B,并且需要传值,那么我们需要在A中添加一个方法prepareForSegue:

    -(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{

        ViewController1 *vc = segue.destinationViewController;//获取segue对应的VC

    vc.str = @"345";

     

    //KVC

    //    if ([vc respondsToSelector:@selector(setStr:)]) {

    //        [vc setValue:@"123" forKey:@"str"];

    //    }

    }

    6、       创建独立的SB

    选择new file,选择ios-àuser interface-àStoryboard-ànext,取个名字即可

    然后选中创建好的.storyboard文件,拖进去一个Viewcontroller

    然后选中其上方三个视图的第一个,设置其对应的class

    7、       要使用上步创建的故事版,需要先根据故事板名字拿到其对象:

    UIStoryboard *story = [UIStoryboard storyboardWithName:@"Storyboard3"//故事板名字不要后缀 bundle:[NSBundle mainBundle]];

    然后通过故事版生成vc对象(需要使用故事版的identifier)

    ViewController3 *vc = [story instantiateViewControllerWithIdentifier:@"controller3"];

  • 相关阅读:
    std thread
    windows更新包发布地址
    How to set up logging level for Spark application in IntelliJ IDEA?
    spark 错误 How to set heap size in spark within the Eclipse environment?
    hadoop 常用命令
    windows 安装hadoop 3.2.1
    windows JAVA_HOME 路径有空格,执行软连接
    day01MyBatisPlus条件构造器(04)
    day01MyBatisPlus的CRUD 接口(03)
    day01MyBatisPlus入门(02)
  • 原文地址:https://www.cnblogs.com/wxzboke/p/5136922.html
Copyright © 2011-2022 走看看