【问题标题】:Reading custom table cell from nib file more than once多次从 nib 文件中读取自定义表格单元格
【发布时间】:2011-05-02 14:56:32
【问题描述】:

我目前正在尝试从其自己的 nib 文件加载我的自定义表格视图单元格,而不是在代码中绘制单元格。除了我不明白如何使我的表格视图包含多个自定义表格单元格的实例这一事实之外,它还可以。让我们看看我是否可以解释我的问题...

在我的表格视图控制器中,我有类似IBOutlet MyFancyCell *fancyCell; 的内容,然后我将控制器设为MyFancyCell.xib 的所有者,并将控制器中的插座连接到Interface Builder 中的表格单元格视图。有

[[NSBundle mainBundle] loadNibNamed:@"MyFancyCell" owner:self options:nil];

在我的控制器中,fancyCell 最终指向我精美的自定义表格视图单元格的一个实例。

现在,如果我想在我的表格视图中使用其中两个花哨的单元格怎么办?

【问题讨论】:

    标签: iphone objective-c cocoa-touch


    【解决方案1】:

    您只是暂时使用该 IBOutlet 来加载您的自定义单元格。在你的cellForRowAtIndexPath你做这样的事情:

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    
        static NSString *CellIdentifier = @"MyFancyCell";
    
        MyFancyCell *cell = (MyFancyCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
        if (cell == nil) {
            [[NSBundle mainBundle] loadNibNamed:@"MyFancyCell" owner:self options:nil];
            cell = fancyCell;
            self.fancyCell = nil;
        }
    
        // configure cell...
    
        return cell;
    }
    

    【讨论】:

    • 我实际上认为这会奏效! =D 我马上试试!非常感谢!!
    • @stine 您可能还对this question 的已检查答案感兴趣,其中讨论了从不需要将文件所有者设置为特定控制器的 nib 文件加载自定义单元格的两种方法。这些方法让您可以重复使用不同所有者的单元格:)
    • 谢谢你,我会尽量阅读它而不会太困惑:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-07
    • 1970-01-01
    • 1970-01-01
    • 2017-02-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多