我正面临一个简单的问题,因为我找到了解决方案:)。

如果我们有例如:

typedef NS_OPTIONS(NSUInteger, UIViewAutoresizing) {
    UIViewAutoresizingNone                 = 0,
    UIViewAutoresizingFlexibleLeftMargin   = 1 << 0,
    UIViewAutoresizingFlexibleWidth        = 1 << 1,
    UIViewAutoresizingFlexibleRightMargin  = 1 << 2,
    UIViewAutoresizingFlexibleTopMargin    = 1 << 3,
    UIViewAutoresizingFlexibleHeight       = 1 << 4,
    UIViewAutoresizingFlexibleBottomMargin = 1 << 5
};


和这样的属性:

@property (nonatomic, assign) UIViewAutoresizing autoresizingMask;


还有这个 :

self.autoresizingMask = UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleWidth ;


问题是:如何知道UIViewAutoresizing属性中的项目数(autoresizingMask值)? (在我的示例中,我有2个)

最佳答案

__builtin_popcount函数,通常在大多数现代硬件上转换为一条指令。它基本上为您提供整数形式的设置位数。

10-06 10:22