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];去掉的效果
loadNibNamed:(NSString *)name owner:(nullable id)owner options:(nullable NSDictionary *)options用法的更多相关文章
- SELECT s.* FROM person p INNER JOIN shirt s ON s.owner = p.id WHERE p.name LIKE 'Lilliana%' AND s.color <> 'white';
SELECT s.* FROM person p INNER JOIN shirt sON s.owner = p.idWHERE p.name LIKE 'Lilliana%'AND s.color ...
- /etc/named/named.conf.options中的Options参数
listen-on port 53 { any; }; 监听在这部主机系统上面的哪个网路介面.预设是监听在localhost,亦即只有本机可以对DNS 服务进行查询,那当然是很不合理啊!所以这里要将大 ...
- 自定义控件CustomAlertView
[记录][完整代码最下] 效果如下: 可行性分析: 由于系统自带的UIAlertView样式简单,只有两种样式,想要理想的样式就要自定义控件了 文件名取为:CustomAlertView 创建文件如下 ...
- 【原】AFNetworking源码阅读(一)
[原]AFNetworking源码阅读(一) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 AFNetworking版本:3.0.4 由于我平常并没有经常使用AFNetw ...
- AFNetworking 3.0 源码解读(六)之 AFHTTPSessionManager
AFHTTPSessionManager相对来说比较好理解,代码也比较短.但却是我们平时可能使用最多的类. AFNetworking 3.0 源码解读(一)之 AFNetworkReachabilit ...
- iOS---观察者模式之--->KVO
文章结构如下: Why? (为什么要用KVO) What? (KVO是什么) How? ( KVO怎么用) More (更多细节) 原理 自己实现KVO 在我的上一篇文章浅谈 iOS Notifica ...
- AVPlayer
AVPlayer AVPlayerLayer是CALayer的一个子类,由于AVPlayer这个播放器只能安置在AVPlayerLayer 这个图层之上,所以我们需要实例化一个UIView,并 ...
- KVO内部实现原理
KVO的原理: 只要给一个对象注册一个监听, 那么在运行时, 系统就会自动给该对象生成一个子类对象, (格式如:NSKVONotifying_className), 并且重写自动生成的子类对象的被监听 ...
- iOS开发——UI基础-KVO
KVO == Key Value Observing 作用: 可以监听某个对象属性的改变 一.使用KVO Person *p = [Person new]; p.name = @"chg&q ...
随机推荐
- linux 访问远程务器代码
比如用SSH 访问远程 登陆名为hadoop 的IP为192.168.1.35的主机,则用ssh hadoop@192.168.1.35,然后依据提示输入密码即可.
- vs2013配置opencv3.2.0
工具/原料 l VS2013 l OpenCV3.20http://jaist.dl.sourceforge.net/project/opencvlibrary/opencv-win/3.2.0/op ...
- linux环境判断字符串是否为非空
需求描述: 今天帮同事调整脚本,涉及到判断一个字符串为非空的,在此记录下. 操作过程: 通过-n来判断字符串是否为非空,如果为非空那么就是真 #!/bin/bash Str1='MyTest' if ...
- mysql数据库中,查看某个数据库下的表的存储类型都有哪些
需求描述: 在备份数据库的时候,使用mysqldump进行数据库的备份,如果库中仅仅有innodb存储引擎, 那么使用--single-transaction就可以,如果还有其他的存储引擎类型就要使用 ...
- brew 接口的原理
请查看相关文档的第9章 该文档可以csdn silentjesse帐号下的资源去下载 http://download.csdn.net/detail/silentjesse/5859077
- css揭秘读书笔记
currentColor属性让hr和段落相同的颜色: div { color: red; } hr { background: currentColor; /* 一定要设置高度*/ height: 0 ...
- Objective-C语法之KVC使用
转自:http://www.cnblogs.com/stoic/archive/2012/07/20/2601315.html 除了一般的赋值和取值的方法,我们还可以用Key-Value-Coding ...
- 通过Nagios监控weblogic服务
1.前言 前段时间搭建了一套Nagios监控服务,心血来潮想自己写一个脚本,拓展Nagios插件来监控公司的weblogic服务. 环境:weblogic10.3.3.0 . CentOS6 ...
- 说说M451例程讲解之LED
/**************************************************************************//** * @file main.c * @ve ...
- 《C++ Primer Plus》第13章 类继承 笔记
类继承通过使用已有的类(基类)定义新的来(派生类),使得能够根据需要修改编程代码.共有继承建立is-a关系,这意味着派生类对象也应该是某种基类对象.作为is-a模型的一部分,派生类继承基类的数据称源和 ...