Ios cell.accessoryView图像不应显示时显示';t仅适用于可重复使用的电池
我使用自定义单元格设置两个图像,一个accessoryView图像和一些自定义按钮。最初会显示accessoryView图像。当用户滑动该行时,我会隐藏accessoryView图像并取消隐藏按钮。当用户“取消擦除”(或点击其他地方)时,我隐藏按钮并显示accessoryView。这一切都很好,但我执行以下操作时除外: 1) 加载屏幕。accessoryView图像在那里,按钮被隐藏。好 2) 划一行。accessoryView消失,按钮出现。好 3) 向下滚动表格以显示更多单元格(我使用的是可重复使用的单元格)。所有新单元格都显示为accessoryView,没有按钮。很好,正如所料 4) 向上滚动到我刷过的原始单元格。我看到accessoryView图像和如下按钮: 下面是一些代码: 在自定义单元格对象中,我有:Ios cell.accessoryView图像不应显示时显示';t仅适用于可重复使用的电池,ios,uitableview,custom-cell,accessoryview,Ios,Uitableview,Custom Cell,Accessoryview,我使用自定义单元格设置两个图像,一个accessoryView图像和一些自定义按钮。最初会显示accessoryView图像。当用户滑动该行时,我会隐藏accessoryView图像并取消隐藏按钮。当用户“取消擦除”(或点击其他地方)时,我隐藏按钮并显示accessoryView。这一切都很好,但我执行以下操作时除外: 1) 加载屏幕。accessoryView图像在那里,按钮被隐藏。好 2) 划一行。accessoryView消失,按钮出现。好 3) 向下滚动表格以显示更多单元格(我使用的是可
- (void)setSelected:(BOOL)selected animated:(BOOL)animated
{
[super setSelected:selected animated:animated];
if (selected)
{
self.accessoryView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"arrow-right-black.png"]];
UIImage *selectedRowImage = [UIImage imageNamed:@"table-selectedcellbg-red-45px-stretch.png"];
self.selectedBackgroundView = [[UIImageView alloc]initWithImage:[selectedRowImage resizableImageWithCapInsets:UIEdgeInsetsMake(selectedRowImage.size.height, selectedRowImage.size.width/2, selectedRowImage.size.height, selectedRowImage.size.width/2)]];
}
else
{
self.accessoryView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"arrow-right.png"]];
self.selectedBackgroundView = [[UIImageView alloc]initWithImage:[[UIImage alloc]init]];
}
}
- (void)swipeCell
{
[self setSelected:NO animated:NO];
self.accessoryView = nil;
swipeButtons.hidden = NO;
}
- (void)unswipeCell
{
[self setSelected:NO animated:NO];
self.accessoryView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"arrow-right.png"]];
swipeButtons.hidden = YES;
}
在我的cellForRowAtIndexPath中,我检查该单元格是否被刷卡:
if (self.indexPathSwipeButton != nil && self.indexPathSwipeButton.row == indexPath.row)
{
[cell swipeCell];
}
else
{
[cell unswipeCell];
}
return cell;
有什么想法吗?您使用
[自选设置:无动画:无]方法(void)swipeCell中的code>和方法-(void)unswipeCell中的code>。
但是在(void)swipeCell
中,它应该是[自选设置:是:否]代码>
希望对您有所帮助您好,用户2398911,谢谢您的回复。我不认为是这样。我不希望单元格被选中,这会将背景更改为红色并高亮显示所有内容。应取消选择单元格,accessoryView隐藏。self.accessoryView.hidden=是;此setSelected函数似乎是在调用cellForRowAtIndexPath之后调用的。但我不叫这个。是否有需要重写的方法?解决方法是在setSelected方法中添加“if(self.swipeButtons.hidden)”。如果按钮未隐藏,请不要显示箭头。还是不知道一开始是怎么称呼它的。。。