gpt4 book ai didi

ios - UITableViewCellStyle 自定义 iOS 7

转载 作者:行者123 更新时间:2023-11-29 02:51:35 25 4
gpt4 key购买 nike

我对 UITableViewCellStyle 有点困惑。我想像这样创建一个自定义 UITableViewCell:

enter image description here

但是当我运行应用程序时,文本和图像没有出现在单元格中。在 Storyboard 中,我将 TableView 样式设置为“自定义”。

enter image description here

我做错了什么?

主 TableView Controller

#import "MainTableViewController.h"
#import "CustomMainCell.h"

static NSString *CellIdentifier = @"MainCell";

@interface MainTableViewController ()

//
@property(nonatomic, strong) NSArray *dataSource;

//
@property(nonatomic, strong) NSArray *iconsSource;

@end

@implementation MainTableViewController


- (void)viewDidLoad
{
[super viewDidLoad];

self.title = @"Currículum Vitae";

// Inicializo los arrays con los datos
self.dataSource = @[@"PERFIL",@"EXPERIENCIA",@"EDUCACIÓN",@"HABILIDADES",@"INTERESES"];
self.iconsSource = @[@"perfil.png",@"experiencia.png",@"educacion.png",@"habilidades.png",@"intereses"];

// Register Class for Cell Reuse Identifier
[self.tableView registerClass:[CustomMainCell class] forCellReuseIdentifier:CellIdentifier];

// This will remove extra separators from tableview
self.tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];

// Eliminio las líneas que separan las celdas
self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
}

- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}

#pragma mark - Table view data source

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{

// Return the number of sections.
return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{

// Return the number of rows in the section.
return self.dataSource.count;
}


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
CustomMainCell *cell = (CustomMainCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];

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

// Configure the cell...
cell.title.text = self.dataSource[indexPath.row];
cell.icon.image = self.iconsSource[indexPath.row];

return cell;
}

CustomMainCell.h

@interface CustomMainCell : UITableViewCell

//
@property (weak, nonatomic) IBOutlet UILabel *title;

//
@property (weak, nonatomic) IBOutlet UIImageView *icon;

@end

CustomMainCell.m

#import "CustomMainCell.h"

@implementation CustomMainCell

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
// Initialization code
self.textLabel.textColor = [UIColor brownColor];
}
return self;
}

- (void)awakeFromNib
{
// Initialization code
}

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

// Configure the view for the selected state
}

@end

最佳答案

你不应该:

// Register Class for Cell Reuse Identifier
[self.tableView registerClass:[CustomMainCell class] forCellReuseIdentifier:CellIdentifier];

因为当 View Controller 未归档时,单元格是从 Storyboard 中注册的。通过注册类(class),您将删除存档 (NIB) 注册。

此外:

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

不应该是必需的,因为您总是会得到一个有效的单元格(因为标识符已注册)

关于ios - UITableViewCellStyle 自定义 iOS 7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24432995/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com