你知道在 Cocoa 中有这样一个东西,例如,你可以创建一个 UIView
,然后做:
view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
我有一个具有多个状态的自定义 UIView
,我在 enum
中定义了这样的状态:
enum DownloadViewStatus {
FileNotDownloaded,
FileDownloading,
FileDownloaded
};
对于每个创建的子视图,我设置它的 tag
: subview1.tag = FileNotDownloaded;
然后,我为视图状态创建了一个自定义 setter,它执行以下操作:
for (UIView *subview in self.subviews) {
if (subview.tag == viewStatus)
subview.hidden = NO;
else
subview.hidden = YES;
}
但 我想做的事允许这样做:
subview1.tag = FileNotDownloaded | FileDownloaded;
所以我的 subview1
显示在我视图的两个状态中。目前,它不显示在这两种状态中的任何一种,因为 |
操作符似乎添加了两个枚举值。
有办法吗?