22

例子

self.accessibilityTraits |= UIAccessibilityTraitAdjustable;

添加 UIAccessibilityTraitAdjustable 选项。但是如何从这样的掩码中删除一个选项,而不必设置所有内容?

4

4 回答 4

37

它与标志的补充:

self.accessibilityTraits &= ~UIAccessibilityTraitAdjustable;

如果self.accessibilityTraits是:

  000110

并且UIAccessibilityTraitAdjustable是:

  000100

这些值是示例;我没有查找实际值

然后 self.accessibilityTraits &= ~UIAccessibilityTraitAdjustable;是:

  000110
& 111011
= 000010
于 2013-07-26T09:59:06.100 回答
7

尝试self.accessibilityTraits &= ~UIAccessibilityTraitAdjustable;

~反转位,因此要保留的位现在为 1,要清除的位为 0。与左侧变量进行与运算将保留在 的相应位置具有 1 的位,~UIAccessibilityTraitAdjustable并将清除其中具有 0 的位的对应位置~UIAccessibilityTraitAdjustable

于 2013-07-26T09:59:20.917 回答
6

self.accessibilityTraits &= ~UIAccessibilityTraitAdjustable;

~UIAccessibilityTraitAdjustable反转所有位,将代表您选项的位保留为0. 二进制文件负责其余部分。

于 2013-07-26T09:59:08.373 回答
5
self.accessibilityTraits &= ~UIAccessibilityTraitAdjustable;

~反转位掩码 (NOT) 以包含给定位之外的所有位,并且&= ANDs 使用变量删除位的结果。

于 2013-07-26T10:00:01.017 回答