我将UIImageView添加到CustomCell(UITableViewCell的子类)
但是,当我在CustomCell上的imageView上设置图像时,
应用程序与日志消息冲突:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[CustomCell setImageView:]: unrecognized selector sent to instance 0x10912d990'
我有这段代码。
的ViewController
@property (nonatomic, strong) UITableView* tableView;
- (void)viewDidLoad
{
[super viewDidLoad];
self.tableView = [[UITableView alloc]initWithFrame:CGRectMake(0, 0, 320, 508)];
self.tableView.delegate = self;
self.tableView.dataSource = self;
[self.view addSubview:self.tableView];
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return 1;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString* cellIdentifer = @"Cell";
CustomCell* cell = (CustomCell *)[tableView dequeueReusableCellWithIdentifier:cellIdentifer];
if (cell == nil) {
cell = [[CustomCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifer];
}
switch (indexPath.section) {
case 0:
switch (indexPath.row) {
case 0:
cell.imageView.image = [UIImage imageNamed:@"hello.jpg"];
break;
default:
break;
}
default:
break;
}
return cell;
}
CustomCell
@property (nonatomic, strong) UIImageView* imageView;
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
self.imageView = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 310, 170)];
[self addSubview:self.imageView];
}
return self;
}
您是否有任何想法在customCell上向imageView添加图像?
谢谢。
答案 0 :(得分:2)
您要尝试做的是使用此行UITableViewCell
设置imageView
的超类只读self.imageView = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 310, 170)];
属性。你不能这样做。
答案 1 :(得分:0)
@property(非原子,强)UIImageView * imageView;应该在CustomCell.h而不是CustomCell.m中,因此可以从其他类访问它。
答案 2 :(得分:0)
谢谢你的答案。我已经解决了。
@property (nonatomic, strong) UIImageView* imageView;
↓
@property (nonatomic, strong) UIImageView* myImageView;
答案 3 :(得分:0)
我认为你必须这样做...... 在
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
if (tableView==TABLE_MEMBERS)// && (count_cell%2==0))
{
Groupie_Moment_Timeline_Cell_Members *cell_mem =[tableView dequeueReusableCellWithIdentifier:@"Groupie_Moment_Timeline_Cell_Members"];
if (cell_mem==nil)
{
NSArray *nibs=[[NSBundle mainBundle] loadNibNamed:@"Groupie_Moment_Timeline_Cell_Members" owner:self options:nil
];
cell_mem=[nibs objectAtIndex:0];
}
cell_mem.selectionStyle=UITableViewCellSelectionStyleNone;
[cell_small.IMG_TableImage setImage:[UIImage imageNamed:@"a.png"];
return cell_small;