2013-07-26 22 views

回答

28

并与标志的补它:

self.accessibilityTraits &= ~UIAccessibilityTraitAdjustable; 

如果self.accessibilityTraits是:

000110 

UIAccessibilityTraitAdjustable是:

000100 

这些值是例子;我没有厕所KED-了真实值

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

000110 
& 111011 
= 000010 
+1

“恭维”:很好的答案。 “补码”:按位倒数。 – usr2564301

+0

@Jongware“欢呼声”:谢谢。 – trojanfoe

5

self.accessibilityTraits &= ~UIAccessibilityTraitAdjustable;

~UIAccessibilityTraitAdjustable反转所有位,留下代表您选项0的一个(或多个)。其余的二进制文件

5

尝试self.accessibilityTraits &= ~UIAccessibilityTraitAdjustable;

~反转为此要保留的位位被1现在和要清除的位为0与左手侧可变将保留其具有1S在相应的位与运算它~UIAccessibilityTraitAdjustable的位置,并且将清除在~UIAccessibilityTraitAdjustable的相应位置中具有0的位。

4
self.accessibilityTraits &= ~UIAccessibilityTraitAdjustable; 

~反转位掩码(NOT)以包含所有位除了的一个给定的,并且&=AND s的变量以除去比特的结果。

+0

好吧,这将只删除UIAccessibilityTraitAdjustable而不添加所有其他标志?我只想移除UIAccessibilityTraitAdjustable,但不想添加“除此之外的其他所有”。 – openfrog

+0

@openfrog是的,这只会清除/移除您提供的单个标志,而不会影响所有其他标志。 –

相关问题