0

我在导航栏中有一个带有 editButtonItem 的 UITableView。每当用户点击editButtonItem时,我都想播放点击声音。现在,我正在使用以下方法在点击编辑按钮时播放点击声音

- (void)setEditing:(BOOL)editing animated:(BOOL)animated {
//Code to play the tap sound file
[super setEditing:editing animated:animated];}

但我遇到的问题是,当用户滑动 tableviewcell 并显示删除按钮时,点击声音也会播放,这不是我想要的。所以,我的问题是,有没有更好的方法来检测何时点击了 editButtonItem?

4

1 回答 1

1

以下代码在点击编辑按钮时才会播放声音。当您点击完成时,它不会播放声音。此外,当您滑动单元格时,不应播放声音。

- (void)willTransitionToState:(UITableViewCellStateMask)state
{
    if (state == UITableViewCellStateShowingDeleteConfirmationMask) {
        swipedToDelete = YES; // BOOL ivar
    }
}

- (void)setEditing:(BOOL)editing animated:(BOOL)animated 
{
    [super setEditing:editing animated:animated];

    if (editing && !swipedToDelete) 
    {
        // Play sound
    }

    if (swipedToDelete) {
        swipedToDelete = NO;
    }
}
于 2012-10-02T16:30:50.090 回答