ios19---xib

//
//  ViewController.m

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    /*
     拷贝一份代码先清理clean一下。
     
     Xib是简单版的故事板,new File————User Interface————(Storyboard和Launch Screen是属于故事板,View和Empty是属于xib).
     Xib和故事板区别:
     1.都是用来描述软件界面的。
     2.都是用Interface Buider工具来编译的。
     3.xib是轻量级的,用来画局部页面,类似于自定义控件(用xib自定义控件要简单)。  故事板是重量级的,可以相互跳转。
     
     最后xib还是要加载到故事板上面。
     
     */
    
    /*
     xib放在Supporting Files里面。也是通过拖控件房子布局。
     
     控制台输入:
     po NSHomeDirectory():
     /Users/mctc/Library/Developer/CoreSimulator/Devices/4E7E6AB7-BB75-4C2C-9D87-21A0369A3DD6/data/Containers/Data/Application/75F9E7B6-9F45-448C-9219-2EAFF94B65B8
     然后通过终端:
     open /Users/mctc/Library/Developer/CoreSimulator/Devices/4E7E6AB7-BB75-4C2C-9D87-21A0369A3DD6/data/Containers/Data/Application/75F9E7B6-9F45-448C-9219-2EAFF94B65B8
     
     打开后回退到bundle,—->application—>通过创建日期查看刚才的xib2.app—->xib2.app显示包内容—->可以看见CarView.xib变成了CarView.nib,
     */
    
    UIView *carView = [[[NSBundle mainBundle] loadNibNamed:@"CarView" owner:nil options:nil] firstObject];//[[NSBundle mainBundle] loadNibNamed:@"CarView" owner:nil options:nil] 返回的是数组,这里的xib的图片和文字是写死的。
    carView.frame = CGRectMake(0, 100, 200, 50);//改变不了fram,
    //    carView.clipsToBounds = YES;
    [self.view addSubview:carView];
    
    
    // 方式二
    //    UINib *nib = [UINib nibWithNibName:@"CarView" bundle:nil];
    //    UIView *carView = [[nib instantiateWithOwner:nil options:nil] firstObject];
    //
    //    [self.view addSubview:carView];

}


- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}


@end
原文地址:https://www.cnblogs.com/yaowen/p/7468779.html