获取XIB子视图的两个方法
2024-08-29 01:36:03
创建了一个XIB文件 CommentCell.xib,并设置好UIImageView的tag为100,昵称UILabel的tag为101,时间的UILabel的tag为102,并制定cell为CommentCell
在tabbleView里面调用loadNibNamed:owner:options方法创建xib视图的时候,会调用CommentCell里面的
awakeFromNib方法创建view对象
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ static NSString *identify = @"CommentCell";
CommentCell *cell = [tableView dequeueReusableCellWithIdentifier:identify]; if (cell == nil) {
cell = [[[NSBundle mainBundle] loadNibNamed:@"CommentCell" owner:self
options:nil] lastObject];
} return cell; }
-(void)awakeFromNib{ _userImage = [(UIImageView *)[self viewWithTag:] retain];
_nickLabel = [(UILabel *)[self viewWithTag:] retain];
_timeLabel = [(UILabel *)[self viewWithTag:] retain];
}
XIB文件创建的时候一般只能和XXXViewController连线,那如果我们想让XIB文件和普通的View视图连线该怎么做呢?
创建一个UserInfo.xib,File's Owner是属于UserInfoView的,View属于UIView,如下图所示
在UserInfoView.m文件里创建XIB视图,因为创建的时候指定的是UIView,再把XIB视图作为子视图添加到UerInfoView上
@implementation UserInfoView - (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
UIView *view = [[[NSBundle mainBundle] loadNibNamed:@"UserInfo" owner:self options:nil] lastObject]; view.backgroundColor = Color(, , , );
[self addSubview:view]; self.size = view.size; }
return self;
}
说明白一点,就是这样
这样就完成了xib视图与普通View的链接,现在就可以链接了
比较两种方法,两种方法都比较直观,第二种通过子视图与变量链接,通过修改变量修改View。第一种创建的时候必须记得tag值,当子视图多得时候容易混淆。
上面有什么说得不足得地方还请多多包涵,提出宝贵的意见,共同进步!
最新文章
- Spring框架IOC容器和AOP解析
- NSMutableRLEArray objectAtIndex:effectiveRange:: Out of bounds
- (二十一)状态模式详解(DOTA版)
- MFC 对话框添加菜单
- BZOJ 2038 小z的袜子 &; 莫队算法(不就是个暴力么..)
- JS-for中的i
- 队列queue的C实现
- PL/0编译器(java version)–PL0.java
- Java - 错误: &;quot;java.lang.ArrayIndexOutOfBoundsException: length=1; index=1&;quot;
- 如何识别IDA反汇编中遇到的动态链接库中的函数
- js立体旋转展示效果
- 数据库中插入数据时发生ora-00984错误
- 《Dare To Dream》第七次作业:团队项目设计完善&;编码测试
- SpringBoot集成netty实现客户端服务端交互和做一个简单的IM
- mysql中外键的创建与删除
- codeforces 957 C Three-level Laser
- 12th final 发布评价II
- Android 中的冷启动和热启动
- 基于XMPP的即时通信系统的建立 — XMPP IQ详解
- java核心技术-多线程之基本使用
热门文章
- PHP文件操作函数二
- codechef T2 Chef and Sign Sequences
- 金山中学 rugular SRM 04 ——纪念我的第一次Ak
- 【BZOJ】1592: [Usaco2008 Feb]Making the Grade 路面修整
- 文本区 JTextArea 的使用
- bzoj 1076 状压DP
- python升级3.6后 yum出错File ";/usr/bin/yum";, line 30 ^
- linux平台从源码安装git【转】
- SQLAlchemy中filter()和filter_by()有什么区别
- Oracle基础 08 用户角色 user/role