• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

iphone - CustomCell 中的标签保持为零

[复制链接]
菜鸟教程小白 发表于 2022-12-13 04:02:13 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我创建了一个自定义 UITableViewCell,其中包含一个 UILabel。

在 cellForRowAtIndexPath 方法中,我初始化自定义单元格并给 UILabel 一个值。

在加载自定义单元格时(单元格的高度高于默认单元格),我似乎无法给 UILabel 一个值。

SBDownloadCell.h

#import <UIKit/UIKit.h>

@interface SBDownloadCell : UITableViewCell

@property (weak, nonatomic) IBOutlet UILabel *title;
@property (weak, nonatomic) IBOutlet UIProgressView *progressbar;
@property (weak, nonatomic) IBOutlet UILabel *details;

- (IBAction)pauseid)sender;

@end

SBDownloadCell.m

#import "SBDownloadCell.h"

@implementation SBDownloadCell

- (id)initWithStyleUITableViewCellStyle)style reuseIdentifierNSString *)reuseIdentifier
{
    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
    if (self) {
        // Initialization code
    }
    return self;
}

- (void)setSelectedBOOL)selected animatedBOOL)animated
{
    [super setSelected:selected animated:animated];

    // Configure the view for the selected state
}

- (IBAction)pauseid)sender {
}
@end

SBViewController.m

- (UITableViewCell *)tableViewUITableView *)tableView cellForRowAtIndexPathNSIndexPath *)indexPath
{
    static NSString *simpleTableIdentifier = @"SBDownload";

    SBDownloadCell *cell = [tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];

    if (cell == nil) {
        cell = [[SBDownloadCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:simpleTableIdentifier];
    }

    SBDownload *dwnld = [[SBDownload alloc] init];
    dwnld = [SBdownloads objectAtIndex:indexPath.row];

    //cell.title.text = [dwnld name];
    cell.title.text = @"Test";
    cell.progressbar.progress = [dwnld percentDone];
    cell.details.text = [NSString stringWithFormat"%f MB of %f MB completed, %@", [dwnld completed], [dwnld length], [dwnld eta]];

    return cell;
}

Storyboard

enter image description here

我在 cell.title.text = @"Test"; 之后就中断了,这仍然是我所看到的:

enter image description here

会是什么?

注意:我在 iOS7 中使用 Xcode DP-5



Best Answer-推荐答案


我看到您的属性标有 IBOutlet,这意味着您有一个带有表格 View 单元格的 Interface Builder 文件(xib 或 Storyboard)。确保在 Interface Builder 中为表格 View 中的原型(prototype)单元格提供正确的单元格标识符。你不应该调用 initWithStyle:。如果在使用 UITableViewController 和 Storyboard时 dequeueReusableCellWithIdentifier: 返回 nil,这意味着设置不正确,因为 dequeueReusableCellWithIdentifier: 应该始终返回一个单元格(它会创建如有必要,新的)。

更详细地说,当使用 xib 或 Storyboard时,表格 View 单元格的 initWithStyle: 将永远不会被调用。加载 nib 时,正确的 init 方法是 initWithCoder:

问题出在static NSString *simpleTableIdentifier = @"SBDownload";。在 Storyboard 中,您已将标识符设置为 SBDownloadCell

关于iphone - CustomCell 中的标签保持为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18668074/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap