loadNibNamed:(NSString *)name owner:(nullable id)owner options:(nullable NSDictionary *)options用法

1.name xib的名字 owner当前类对象 options初始参数

实际应用:

NSArray *nibs = [[NSBundle mainBundle] loadNibNamed:@"***" owner:self options:nil];

nibs[0]是当前view的对象  nibs[1]当前view的背景 ,我们可以在init中对当前frame以及当前view的背景的frame进行赋值, nibs[1]的背景是半透明的,如果当前的xib是View,把view添加到父对象的时候nibs[1]没有添加到父空间,则当前的view是全透明的,

举个例子:这个是我创建的xib

该xib对应的initWith

-(instancetype)initWithCancleButtonTitle:(NSString *)cancelTitle otherButtonTitle:(NSString *)otherTitle
{
    CGRect frame = CGRectMake(0, 0, Main_Screen_Width-40, 180);
    self = [super initWithFrame:frame];
    if (self) {

        NSArray *nibs = [[NSBundle mainBundle] loadNibNamed:@"***" owner:self options:nil];
        self = nibs[0];
        self.frame = CGRectMake(0, 0, Main_Screen_Width-40, 180);

        coverView = nibs[1];
        [self setUIController];

        if (rect.size.height > 54) {
            self.frame = CGRectMake(0, 0, Main_Screen_Width-40, 180);
        }
        [self.cancleButton setTitle:cancelTitle forState:UIControlStateNormal];
        [self.otherButton setTitle:otherTitle forState:UIControlStateNormal];
    }
    return self;
}
-(void)setUIController{
    coverView.frame = CGRectMake(0, 0, Main_Screen_Width, Main_Screen_Height);
    coverView.backgroundColor = [UIColor redColor];
    self.layer.cornerRadius = 4.0;
    self.layer.masksToBounds = YES;
    [self.cancleButton setTitleColor:[UIColor grayColor] forState:UIControlStateNormal];
    [self.otherButton setTitleColor:[UIColor greenColor] forState:UIControlStateNormal];
    _line1.backgroundColor = [UIColor grayColor];
    _line2.backgroundColor = [UIColor grayColor];
}

把当前view添加到window上:

UIWindow *window = [UIApplication sharedApplication].keyWindow;
    self.center = CGPointMake(Main_Screen_Width/2, Main_Screen_Height/2);
    [window addSubview:coverView];

    [window addSubview:self];

红色的view是半透明的,如果 [window addSubview:coverView];去掉的效果

时间: 2024-10-02 03:12:22

loadNibNamed:(NSString *)name owner:(nullable id)owner options:(nullable NSDictionary *)options用法的相关文章

KVC - (void)setValue:(nullable id)value forKey:(NSString *)key;

关于KVC的方法 - (void)setValue:(nullable id)value forKey:(NSString *)key; 从上面的参数类型可以看出,value必须是一个对象,可以为nil对象. 当你的属性是@property (nonatomic, assign) NSInteger testNum; 则在使用KVC时,必须将其转换成NSNumber对象,或NSString对象.但不能转换成数组等其他对象类型. [self setValue:@99 forKey:@"testNu

magento2根据属性id或code来添加options

1.根据获取attribute_code来获取attribute id $attr = $this->_objectManager->create('Magento\Eav\Model\ResourceModel\Entity\Attribute'); $attributeId = $attr->getIdByCode('catalog_product', 'brand'); 注释:catalog_product代表属性实体类型,brand代表属性code 2.实例化eav Model类

JavaScript基础 获得下拉列表中某一选项的值与id options[2].text options[2].value

镇场诗: 清心感悟智慧语,不着世间名与利.学水处下纳百川,舍尽贡高我慢意. 学有小成返哺根,愿铸一良心博客.诚心于此写经验,愿见文者得启发.------------------------------------------ code: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"

HTML中id name class 的区别和用法

HTML 中 id与name 区别 一个name可以同时对应多个控件,比如checkbox和radio 而id必须是全文档中唯一的 id的用途 1) id是HTML元素的Identity,主要是在客户端脚本里用. 2) label与form控件的关联,如 <label for="MyInput">My Input</label>            <input id="MyInput" type="text"&g

/etc/named/named.conf.options中的Options参数

listen-on port 53 { any; }; 监听在这部主机系统上面的哪个网路介面.预设是监听在localhost,亦即只有本机可以对DNS 服务进行查询,那当然是很不合理啊!所以这里要将大括号内的资料改写成any.记得,因为可以监听多个介面,因此any 后面得要加上分号才算结束喔!另外,这个项目如果忘记写也没有关系,因为预设是对整个主机系统的所有介面进行监听的. directory "/var/named"; 意思是说,如果此档案底下有规范到正.反解的zone file 档

macOS开发之NSTableView的应用详解 - 转

传送门:https://my.oschina.net/u/2340880/blog/886861 摘要: NSTableView是AppKit中的表视图控件,是macOS开发中非常重要的一种视图控件.熟练应用NSTableView控件对mac软件开发十分重要. NSTableView的应用详解 一.引言 和iOS开发中的UITableView有很大差别,NSTableView并非是一个可滚动的列表视图,其是一个不可滚动.支持多列多行的原始列表视图.若要使NSTableView支持滚动,通常会将其

iOS开发——实用篇&amp;KVO与KVC详解

KVO与KVC详解 由于ObjC主要基于Smalltalk进行设计,因此它有很多类似于Ruby.Python的动态特性,例如动态类型.动态加载.动态绑定等.今天我们着重介绍ObjC中的键值编码(KVC).键值监听(KVO)特性: 键值编码KVC 键值监听KVO 键值编码KVC 我们知道在C#中可以通过反射读写一个对象的属性,有时候这种方式特别方便,因为你可以利用字符串的方式去动态控制一个对象.其实由于ObjC的语言特性,你根部不必进行任何操作就可以进行属性的动态读写,这种方式就是Key Valu

iOS中的 观察者模式 之 KVO

1.KVO的简介 KVO 全称 Key-Value Observing.中文叫键值观察.KVO其实是一种观察者模式,观察者在键值改变时会得到通知,利用它可以很容易实现视图组件和数据模型的分离,当数据模型的属性值改变之后作为监听器的视图组件就会被激发,激发时就会回调监听器自身.相比Notification,KVO更加的简单直接. KVO的操作方法由NSKeyValueCoding提供,而他是NSObject的类别,也就是说ObjC中几乎所有的对象都支持KVO操作.  KVO 需要实现实例变量的 s

KVO内部实现原理

// // ViewController.m // KVO内部实现原理 // // Created by sw on 15/4/13. // Copyright © 2015年 sw. All rights reserved. // #import "ViewController.h" #import "Person.h" @interface ViewController () @end @implementation ViewController - (void