从静态tablebview控制器中的xib文件添加Tableview单元格,该控制器是从故事板加载的

时间:2013-08-08 00:12:19

标签: ios uitableview

我正在开发一个Tableview Controller,里面是从storyboard文件中加载的。

出于可重用性的目的,我希望故事板中的一个单元格从nib文件加载。

我该怎么做?

我当前的实现仅使用viewDidLoad而不使用其他tableview委托方法

- (void) viewDidLoad
{

    [super viewDidLoad];

     self.title = self.requestTypeDescription;

self.itemDescriptionLabel.text = self.currentItem.articleDescription;
    self.modelNumberLabel.text = self.currentItem.partNumber;

  notesHistoryString =  @"Valerie is a young woman who lives...";
    self.partNumberCell.count.text = [NSString stringWithFormat:@"%@", self.currentItem.sapCount];
    self.serialNumbersCell.count.text = [NSString stringWithFormat:@"%lu", (unsigned long)self.currentItem.serialNumbers.count];



}

2 个答案:

答案 0 :(得分:0)

使用registerNib注册nib:forCellReuseIdentifier :(在viewDidLoad中是一个好地方),并在您的cellForRowAtIndexPath中,当您需要该类型的单元格时,使用您传入该方法的相同标识符对单元格进行出列。

答案 1 :(得分:0)

我最终在故事板中为Tableview控制器(TVC)内的tableview创建了一个空白单元格。然后我为UIView创建了一个nib文件。

My View,正在加载nib有initWithFrame(用于加载xib),它的实现如下所示:

    @implementation SimpleView

    -(id)initWithFrame:(CGRect)frame
    {

        NSArray *arrayOfViews = [[NSBundle mainBundle] loadNibNamed:@"SimpleView"
                                                              owner:nil
                                                            options:nil];

        if ([arrayOfViews count] < 1){
            return nil;
        }

        SimpleView *newView = [arrayOfViews objectAtIndex:0];
        [newView setFrame:frame];
        self = newView;

        return self;

    }

然后在TVC内的viewDidLoad上,我将其添加到空白单元格中,如下所示:

@implementation ExistingRequestsItemDetailActionVC




#pragma mark - Life cycle
- (void) viewDidLoad
{

    [super viewDidLoad];

     self.title = self.requestTypeDescription;

self.itemDescriptionLabel.text = self.currentItem.articleDescription;
    self.modelNumberLabel.text = self.currentItem.partNumber;

  notesHistoryString =  @"Valerie is a young woman who lives...";
    self.partNumberCell.count.text = [NSString stringWithFormat:@"%@", self.currentItem.sapCount];
    self.serialNumbersCell.count.text = [NSString stringWithFormat:@"%lu", (unsigned long)self.currentItem.serialNumbers.count];

// Here is where I am loading the other cellview from xib


    SimpleView *myView = [[SimpleView alloc] initWithFrame:self.myCell.bounds];

    myView.slider.value=1;

    [self.myCell addSubview:myView];


}