ios – 为自定义单元格使用dequeueReusableCellWithIdentifier

ios – 为自定义单元格使用dequeueReusableCellWithIdentifier,第1张

概述让我们说我有 - (UITableViewCell*)tableView:(UITableView*) cellForRowAtIndexPath:(NSIndexPath*)indexPath{ static NSString *cellID = @"Cell Identifier"; UITableViewCell *cell = [tableView dequeueReus 让我们说我有
- (UItableVIEwCell*)tableVIEw:(UItableVIEw*) cellForRowAtIndexPath:(NSIndexPath*)indexPath{    static Nsstring *cellID = @"Cell IDentifIEr";    UItableVIEwCell *cell = [tableVIEw dequeueReusableCellWithIDentifIEr:cellID];    if (!cell)    {        cell = [[UItableVIEwCell alloc] initWithStyle:UItableVIEwCellStyleSubTitle reuseIDentifIEr:cellID];        cell.selectionStyle = UItableVIEwCellSelectionStyleNone;    }    else    {        return cell;    }    UILabel * nameLabel = [[UILabel alloc] initWithFrame: CGRectMake( 0,15,Box.size.wIDth,19.0f)];    nameLabel.text = name;    [nameLabel setTextcolor: [UIcolor colorWithRed: 79.0f/255.0f green:79.0f/255.0f blue:79.0f/255.0f Alpha:1.0f]];    [nameLabel setFont: [UIFont FontWithname: @"HelveticaNeue-Bold" size: 18.0f]];    [nameLabel setBackgroundcolor: [UIcolor clearcolor]];    nameLabel.textAlignment = NSTextAlignmentCenter;    [cell addSubvIEw: nameLabel];}

那会怎么样?

如果单元格不是nil,并且假设您在第5行,它是否会返回第5行的单元格,并带有确切的文本标签等?

基本上,我的问题是,如果你有自定义单元格的标签,图像视图等.你如何使用cellForRowAtIndexPath与dequeueReusableCellWithIDentifIEr?

解决方法 您尝试将单元格出列.如果尝试失败(单元格为nil),则创建一个单元格并将其配置为视图(而不是视图中的数据).然后,使用任何更改单元格到单元格的数据或设置填充视图.此外,您应该将任何自定义视图添加到单元格的contentVIEw,而不是单元格本身.
#define name_LABEL_TAG 1234- (UItableVIEwCell *)tableVIEw:(UItableVIEw *)tableVIEw cellForRowAtIndexPath:(NSIndexPath *)indexPath{    static Nsstring *cellID = @"Cell IDentifIEr";    UItableVIEwCell *cell = [tableVIEw dequeueReusableCellWithIDentifIEr:cellID];    if (!cell) {        cell = [[UItableVIEwCell alloc] initWithStyle:UItableVIEwCellStyleSubTitle reuseIDentifIEr:cellID];        cell.selectionStyle = UItableVIEwCellSelectionStyleNone;        UILabel * nameLabel = [[UILabel alloc] initWithFrame: CGRectMake( 0,19.0f)];        nameLabel.tag = name_LABEL_TAG;        [nameLabel setTextcolor: [UIcolor colorWithRed: 79.0f/255.0f green:79.0f/255.0f blue:79.0f/255.0f Alpha:1.0f]];        [nameLabel setFont: [UIFont FontWithname: @"HelveticaNeue-Bold" size: 18.0f]];        [nameLabel setBackgroundcolor: [UIcolor clearcolor]];        nameLabel.textAlignment = NSTextAlignmentCenter;        [cell.contentVIEw addSubvIEw: nameLabel];    }    // Populate vIEws with data and retrIEve data for "name" variable    UILabel *nameLabel = (UILabel *)[cell.contentVIEw vIEwWithTag:name_LABEL_TAG];    nameLabel.text = name;    // Return fully configured and populated cell    return cell;}

如果您有一个复杂的单元格,通常更容易在Interface Builder和子类UItableVIEwCell中创建它,因此您可以拥有引用标签,按钮等的自定义属性.

总结

以上是内存溢出为你收集整理的ios – 为自定义单元格使用dequeueReusableCellWithIdentifier全部内容,希望文章能够帮你解决ios – 为自定义单元格使用dequeueReusableCellWithIdentifier所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1113757.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存