我有一个UITableViewCell
,其中包含以下层次结构:
我使用swipe
和pan
手势将Container View
向左移动,以便显示垃圾按钮,类似于Instagram:
但是,在单元格选择上可以看到thrash按钮:
修改
请注意:
trash button
实际上是一个透明png image
的自定义按钮。然后按钮的背景颜色设置为red
。
请提供您宝贵的建议或解决此问题的方法。谢谢!
答案 0 :(得分:0)
由于我没有得到正确的答案,我被迫解决了这个问题,正如@hoang Van Ha指出的那样。
在自定义单元格类中:
我通过覆盖setSelected方法隐藏了按钮,如下所示:
- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
[super setSelected:selected animated:animated];
if (self.cellContainerView.frame.origin.x == 0) {
self.trashButton.hidden = YES;
}
}
在手势方法的开头,即pan
和swipe
我再次显示按钮,在完成手势时,我检查容器视图的帧是否为零。如果是这样,则应隐藏按钮。
- (IBAction)handleSwipeGesture:(UISwipeGestureRecognizer *)recognizer
{
self.trashButton.hidden = NO;
if ( recognizer.direction == UISwipeGestureRecognizerDirectionRight ) {
[UIView animateWithDuration:0.2
animations:^{
self.cellContainerView.frame = CGRectMake(0, self.cellContainerView.frame.origin.y, 320, self.cellContainerView.bounds.size.height);
}
completion:^(BOOL finished) {
self.trashButton.hidden = YES;
}
];
}
}
在控制器类中,在行方法的单元格中,执行相同的过程。
if (cell.cellContainerView.frame.origin.x == 0) {
cell.trashButton.hidden = YES;
}
请随时发表评论,甚至发布更好的答案!