调用willTransitionToState时的未知UITableViewCellStateMask值

cha*_*lah 4 uitableview ios

在API文档中,单元状态掩码文档定义为

enum {
   UITableViewCellStateDefaultMask                     = 0,
   UITableViewCellStateShowingEditControlMask          = 1 << 0,
   UITableViewCellStateShowingDeleteConfirmationMask   = 1 << 1
};
Run Code Online (Sandbox Code Playgroud)

但是,当我在UITableView处于编辑模式时按下减号按钮时,参数willTransitionToState为3

- (void)willTransitionToState:(UITableViewCellStateMask)state{
    [super willTransitionToState:state];
    if(state == 3){
        //When minus button is pushed, value of state is 3
    }
}
Run Code Online (Sandbox Code Playgroud)

我在哪里可以找到定义?

Mun*_*ndi 5

这是预期的行为.

UITableViewCellStateShowingEditControlMask(A)设置为true.这是合乎逻辑的,因为您仍然可以看到编辑控件.UITableViewCellStateShowingDeleteConfirmationMask(B)也设置为true,因为你只需按下减号按钮.

从而,

(A) = 1 << 0 = 1   00000001
(B) = 1 << 1 = 2   00000010
----------------------------
(A) + (B)    = 3   00000011
Run Code Online (Sandbox Code Playgroud)