• Storyboard可视化编程详解


    storyboard :故事版,描述软件界面。

    应用程序的启动原理:

    应用程序启动的时候,首先会加载一个Main Interface 里的 main.storyboard

    UIViewController 控制器,处理界面的各种事件,并负责界面的创建和销毁。

    IBAction:

    ①只能修饰方法返回值类型

    ②被IBAction修饰的方法能脱线到storyboard中、返回值实际是void

    ③使用方式 -(IBAction)buttonClick{}

     

    IBOutlet:

    ①只能修饰属性

    ②被IBAction修饰的方法能脱线到storyboard中

    ③使用方式 @property (nonatomic, weak)IBOutlet UILabel *label;

     

    IBOutletCollection:

    ①将界面上一组相同的控件连接到同一个数组中

    #ifndef IBOutletCollection
    #define IBOutletCollection(ClassName)
    #endif

    IBOutletCollection带有一个参数,该参数是一个类名。

    ②通常情况下,我们使用一个IBOutletCollection属性时,属性必须是strong的,且类型是NSArray,如下所示

    @property (strong, nonatomic) IBOutletCollection(UIScrollView) NSArray *scrollViews;

    ③使用此属性要注意两点:

    1>IBOutletCollection集合中对象的顺序是不确定的。我们通过调试方法可以看到集合中对象的顺序跟我们连接的顺序是一样的。但是这个顺序可能会因为不同版本的Xcode而有所不同。所以我们不应该试图在代码中去假定这种顺序。

    2>不管IBOutletCollection(ClassName)中的控件是什么,属性的类型始终是NSArray。实际上,我们可以声明是任何类型,如NSSet,NSMutableArray,甚至可以是UIColor,但不管我们在此设置的是什么类,IBOutletCollection属性总是指向一个NSArray数组。

    IB全称 : Interface Builder

     

    故事版StoryBoard创建ViewController

    ①创建同名storyBoard

    ②连线-选中-勾选(Is Initial View Controller)

    ③初始化方法:

    UIStoryboard * storyBoard = [UIStoryboard storyboardWithName:@"HKMeViewController" bundle:nil];
    //加载箭头指向的VC
    HKMeViewController * meVC = [storyBoard instantiateInitialViewController ];

    跳转Main.storyboard上的viewcontroller+storyboardID

    SCAnnouncePushController * announcePushVC = [[UIStoryboard storyboardWithName:@"Main" bundle:NSBundle.mainBundle] instantiateViewControllerWithIdentifier:@"publishAnnounce"];
    announcePushVC.team = [NIMSDK.sharedSDK.teamManager teamById:self.session.sessionId];
    [self.navigationController pushViewController:announcePushVC animated:YES];

     

     

     

     

     

  • 相关阅读:
    oracle修改字符编码
    oracle修改约束列
    oracle非空约束
    Linux修改字符集
    修改oracle字符集合
    word问题禁止宏
    增加修改表列
    oracle增加sequence
    增加 修改oracle约束条件
    oracle用户 密码永不过期
  • 原文地址:https://www.cnblogs.com/StevenHuSir/p/storyboard.html
Copyright © 2020-2023  润新知