首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iOS:使用数组的AutoresizingMask?

iOS:使用数组的AutoresizingMask?
EN

Stack Overflow用户
提问于 2011-08-19 01:20:05
回答 2查看 1K关注 0票数 2

是否可以为UIView的autoresizingMask属性提供数组?我之所以要这样做,是因为我有一些条件来决定要将哪些autoresizingMask属性添加到我的视图中。

因此,不是简单地使用:

代码语言:javascript
复制
self.view.autoresizingMask = UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleWidth;

我想做一些类似的事情:

代码语言:javascript
复制
if (addMargin) {
   [items addObject:UIViewAutoresizingFlexibleRightMargin];
}
if (addWidth) {
   [items addObject:UIViewAutoresizingFlexibleWidth];
}

// Add to property
self.view.autoresizingMask = items;

所以我基本上想有条件地设置这个属性的项。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-19 01:23:26

这是一个位掩码。只需按位-或将其与您想要的一个。

代码语言:javascript
复制
if(addMargin)
    self.view.autoresizingMask |= UIViewAutoresizingFlexibleRightMargin;
if(addWidth)
    self.view.autoresizingMask |= UIViewAutoresizingFlexibleWidth;

要重置遮罩,可以将其设置为0,或者如果要删除特定属性,可以将其取反并按位-以及使用它的遮罩:

代码语言:javascript
复制
if(removeMargin)
    self.view.autoresizingMask &= ~UIViewAutoresizingFlexibleRightMargin;
票数 6
EN

Stack Overflow用户

发布于 2011-08-19 01:23:09

自动调整大小只是一个位掩码。

代码语言:javascript
复制
UIViewAutoresizing resize = 0;
if (addMargin) {
    resize = resize | UIViewAutoresizingFlexibleRightMargin;
}
if (addWidth) {
    resize = resize | UIViewAutoresizingFlexibleWidth;
}

self.view.autoresizingMask = resize
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7111466

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档