• 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"];

  • 相关阅读:
    nop调试-区域路由问题
    nop4.3 用户权限管理
    nop4.3 admin中添加新菜单
    nop 中创建任务(Task)
    SignalR 的应用
    mvc和ef如何连接
    .net中微信、支付宝回调
    C# 中使用Aspose.Words下载文档
    添加 Azure Active Directory 服务,调用方法
    Net Core 5.0 部署IIS错误-500.31-Failed to load ASP.NET Core runtime
  • 原文地址:https://www.cnblogs.com/wxzboke/p/5136922.html
Copyright © 2020-2023  润新知