将Nib附加到现有的UITableViewCell

时间:2014-04-21 22:09:37

标签: ios objective-c uitableview nib

  1. 我有UITableViewCell以编程方式进行辩护。
  2. 我正在尝试附加一个简单的Nib文件。
  3. Nib已创建并已完全配置。我可以使用IB向Nib添加图像,并在应用程序运行时看到它们出现。这意味着Nib已加载。
  4. 但我仍然无法使用代码更改Nib上的任何插座(标签,按钮)?
  5. 我应该怎样解决这个问题?
  6. 我使用以下代码:

    - (UIView *)viewFromNib
    {
        Class class = [self class];
        NSString *nibName = NSStringFromClass(class);
        NSArray *nibViews = [[NSBundle mainBundle] loadNibNamed:nibName owner:self options:nil];
        UIView *view = [nibViews objectAtIndex:0];
        return view;
    }
    
    - (void)addSubviewFromNib
    {
        UIView *view = [self viewFromNib];
        self.bounds = view.bounds;
        self.frame = view.frame;
        self.viewNib = view;
        [self addSubview:view];
        [self.Button setTitle:@"hello"
              forState:UIControlStateNormal]; // problem: button label is not changed
    }
    
    - (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier 
    {
         ...
         [self addSubviewFromNib]; // adds subview from my Nib
         ...
    }
    

1 个答案:

答案 0 :(得分:0)

将界面生成器中nib文件的文件所有者的类更改为正确的类。像通常在界面构建器中那样引用插座。