我想从某些表格单元格中删除IBOutlet UIimage:
我有一个自定义表格单元格,包括图像,标签,副标题......
cellIcon,cellHead,cellStandfirst
有些单元格没有图像,所以我希望标签和副标题向后延伸以填充图像留下的空间(正如标准UITable在没有自定义单元格类时的行为一样)
目前我正在打电话
[cell shortCell:cell.bounds.size.width];
来自tableViewController的,它调用
- (void)shortCell:(float)myfloat; {
[cellHead setFrame:CGRectMake(
CELL_CONTENT_MARGIN,
3.0f,
myfloat - (CELL_CONTENT_MARGIN * 2),
24.0f)];
[cellStandfirst setFrame:CGRectMake(
CELL_CONTENT_MARGIN,
25.0f,
myfloat - (CELL_CONTENT_MARGIN * 2),
34.0f)];
}
工作正常,但我觉得默认的表视图必须删除图像而不是调整标签大小。
我尝试了
的变体[cellIcon removeFromSuperview];
在单元格类中,
[cell.cellIcon remove];
在tableview控制器中但是无法正常工作
是否可以从某些单元格中删除表格单元格图像,以便标签自动调整大小?
答案 0 :(得分:1)
你试试:
cell.cellIcon = nil;
或者:
[cell setCellIcon:nil];
我不知道它会起作用,但你只是尝试。
答案 1 :(得分:0)
你可以尝试
cellIcon.hidden=YES;
属性这样做......
答案 2 :(得分:0)
子视图无法自动填充空白区域。您必须坚持使用当前的方法。
如果您要从cellIcon
中移除空superview
,则必须记住要重复使用这些单元格。因此,如果是nil
。
答案 3 :(得分:0)
使用此代码
if ( __what-test-is-needed__) {
[cell cellIcon:@"your_image.png"];
} else {
[cell cellIcon:nil];
[cell shortCell:cell.bounds.size.width];
}
然后在细胞类
#define CELL_CONTENT_WIDTH 320.0f
#define CELL_CONTENT_MARGIN 10.0f
@implementation StoryCellViewController
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
// Initialization code.
}
return self;
}
- (void)cellHead:(NSString *)_text;{
cellHead.text = _text;
//NSLog(@"Width: %f", self.bounds.size.width);
}
- (void)cellIcon:(NSString *)_text;{
cellIcon.image = [UIImage imageNamed:_text];
}
- (void)cellStandfirst:(NSString *)_text;{
cellStandfirst.text = _text;
}
- (void)shortCell:(float)myfloat; {
// NSLog(@"Width: %f", self.bounds.size.width);
// NSLog(@"Float: %f", myfloat);
[cellHead setFrame:CGRectMake(
CELL_CONTENT_MARGIN,
4.0f,
myfloat - (CELL_CONTENT_MARGIN * 2),
24.0f)];
[cellStandfirst setFrame:CGRectMake(
CELL_CONTENT_MARGIN,
26.0f,
myfloat - (CELL_CONTENT_MARGIN * 2),
34.0f)];
}
- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
[super setSelected:selected animated:animated];
// Configure the view for the selected state.
}