zoukankan      html  css  js  c++  java
  • 获取XIB子视图的两个方法

    创建了一个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:100] retain]; 
        _nickLabel = [(UILabel *)[self viewWithTag:101] retain];
        _timeLabel = [(UILabel *)[self viewWithTag:102] 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(245, 245, 245, 1);
            [self addSubview:view];
            
            self.size = view.size;
        
        }
        return self;
    }

    说明白一点,就是这样

    这样就完成了xib视图与普通View的链接,现在就可以链接了

    比较两种方法,两种方法都比较直观,第二种通过子视图与变量链接,通过修改变量修改View。第一种创建的时候必须记得tag值,当子视图多得时候容易混淆。

    上面有什么说得不足得地方还请多多包涵,提出宝贵的意见,共同进步!

  • 相关阅读:
    Java 多态
    Java 继承与抽象类
    Java 接口
    关于Oracle数据库故障诊断基础架构
    监控性能
    监视错误和警报
    内存管理参考
    使用自动内存管理
    内存架构概述
    关于内存管理
  • 原文地址:https://www.cnblogs.com/iOS-dd/p/3270994.html
Copyright © 2011-2022 走看看