通讯录 xib文件和storyboard混合编程

storyboard里面实现的通讯录现在 用界面替换代码

新加入一个xib文件

 1 #pragma mark 用xib创建一行并添加文字和头像
 2 - (UIView *)createRowView
 3 {
 4     // 0.加载RowView文件,创建Objects数组按顺序包装所有控件到数组中返回 xib = nib app打包时候自动生成xib文件
 5    NSArray *views = [[NSBundle mainBundle] loadNibNamed:@"RowView" owner:self options:nil];
 6     // 1.取出一行view
 7     UIView *rowViews = views[0];
 8     // 2.设置头像
 9     UIButton *imgBtn = (UIButton *)[rowViews viewWithTag:1];
10     NSString *names = [NSString stringWithFormat:@"0%d.jpg",arc4random_uniform(9)];
11     // 2.1设置头像按钮背景图 随机获取头像
12     [imgBtn setImage:[UIImage imageNamed:names] forState:UIControlStateNormal];
13     // 2.2添加头像点击监听
14     [imgBtn addTarget:self action:@selector(iconClick:) forControlEvents:UIControlEventTouchUpInside];
15     // 3.设置描述
16     UILabel *lab = (UILabel *)[rowViews viewWithTag:2];
17     // 3.1随机获取描述信息
18     lab.text =_allNames[arc4random_uniform((int)_allNames.count)];
19     // 4.设置删除按钮
20     UIButton *delBtn = (UIButton *)[rowViews viewWithTag:3];
21     // 4.1添加删除点击监听
22     [delBtn addTarget:self action:@selector(delClick:) forControlEvents:UIControlEventTouchUpInside];
23     return rowViews;
24 }

删除添加监听的第二种方式就是 连线  (要将控制器环境改为一致即可)

从xib窗体更改owner文件关联的class文件名字与storyboard.h里面继承名字一致

要更改加载解析xib加载方法 里面将owner属性改为当前窗体:self

1       // 0.加载RowView文件,创建Objects数组按顺序包装所有控件到数组中返回 xib = nib app打包时候自动生成xib文件
2      NSArray *views = [[NSBundle mainBundle] loadNibNamed:@"RowView" owner:self options:nil];
时间: 2024-10-07 20:07:32

通讯录 xib文件和storyboard混合编程的相关文章

[转]iOS学习笔记(2)--Xcode6.1创建仅xib文件无storyboard的hello world应用

转载地址:http://www.mamicode.com/info-detail-514151.html 由于Xcode6之后,默认创建storyboard而非xib文件,而作为初学,了解xib的加载原理很重要,所以,需要创建一个没有storyboard的项目 1. 创建一个新的工程 2. 选择仅一个视图的模板 选择 Single View Application , 点击Next 3. 填写项目信息 不需要选择core data,填好信息后,点击next,然后点击create 4. 删除sto

iOS学习笔记(2)--Xcode6.1创建仅xib文件无storyboard的hello world应用

---恢复内容开始--- 由于Xcode6之后,默认创建storyboard而非xib文件,而作为初学,了解xib的加载原理很重要,所以,需要创建一个没有storyboard的项目 1. 创建一个新的工程 2. 选择仅一个视图的模板 选择 Single View Application , 点击Next 3. 填写项目信息 不需要选择core data,填好信息后,点击next,然后点击create 4. 删除storyboard和launchscreen.xib文件 将storyboard和l

Xcode6.1创建仅xib文件无storyboard的hello world应用(转)

--恢复内容开始--- 由于Xcode6之后,默认创建storyboard而非xib文件,而作为初学,了解xib的加载原理很重要,所以,需要创建一个没有storyboard的项目 1. 创建一个新的工程 2. 选择仅一个视图的模板 选择 Single View Application , 点击Next 3. 填写项目信息 不需要选择core data,填好信息后,点击next,然后点击create 4. 删除storyboard和launchscreen.xib文件 将storyboard和la

在OC项目中添加Swift文件并实现混合编程

对于已经工作的开发者,并不适合也没有条件从一个全新的swift项目开始,进行开发. 虽然网上关于swift和oc混合编程的教程比较多,但是大多是基于 swift项目的,所以对咱们 OCer的参考价值有一定折扣. 现在swift虽然仍然存在很多缺陷,但是鉴于苹果的强势,是时候在项目中把简单的功能交给swift了,给自己,给项目,给swift一个缓冲区,都是极好的. 说了这么多,开始上代码. 现在的背景是: 已经有一个oc项目了,我想要加入 swfit,并且实现 oc调用 swift ,swift调

iOS开发之 Xcode6 添加xib文件,去掉storyboard的hello world应用

iOS开发之  Xcode6.1创建仅xib文件,无storyboard的hello world应用 由于Xcode6之后,默认创建storyboard而非xib文件,而作为初学,了解xib的加载原理很重要,所以,需要创建一个没有storyboard的项目 1. 创建一个新的工程 2. 选择仅一个视图的模板 选择 Single View Application , 点击Next 3. 填写项目信息 不需要选择core data,填好信息后,点击next,然后点击create 4. 删除story

**IOS:xib文件解析(xib和storyboard的比较,一个轻量级一个重量级)

使用Xcode做iOS项目,经常会和Xib文件打交道,因为Xib文件直观的展现出运行时视图的外观,所以上手非常容易,使用也很方便,但对于从未用纯代码写过视图的童鞋,多数对Xib的理解有些片面. Xib文件是什么? A nib file describes the visual elements of your application’s user interface, including windows, views, controls, and many others. It can also

加载storyboard和xib文件

// 加载storyboard UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Two" bundle:nil]; // 创建storyboard里面灰色的控制器 //找到shtoryboard里面设置的初始控制器 // UIViewController *vc = [storyboard instantiateInitialViewController]; // 从storyboard里面找出绑定标识的控制器

storyboard中xib文件不加载问题

今天在用Xcode6自定义视图控制器时附带了一个XIB文件,然后把自定义的类绑定到storyboard的ViewController,如图所示 , 发现RootViewController对应的xib文件RootViewController.xib并没有执行,原来要把从storyboard拖出来的ViewController中自带的view删掉才行.如图:

C/C++混合编程出现:预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C 中使用它(或相反)问题的解决方案

今天试了一下C/C++混合编程,然后就出现了上面那个蛋疼的问题,去网上查了一下,发现原来是C语言和C++预编译头的问题. error:预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C 中使用它(或相反) 英文版:fatal error C1853: 'pjtname.pch' precompiled header file is from a previous version of the compiler, or the precompiled header is C++ a