你知道在Cocoa中有这个东西,比如你可以创建一个UIView并做:
view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
Run Code Online (Sandbox Code Playgroud)
我有一个UIView具有多个状态的自定义,我已经在enum这样定义:
enum DownloadViewStatus {
FileNotDownloaded,
FileDownloading,
FileDownloaded
};
Run Code Online (Sandbox Code Playgroud)
对于每个创建的子视图,我设置它tag:subview1.tag = FileNotDownloaded;
然后,我有一个视图状态的自定义setter,它执行以下操作:
for (UIView *subview in self.subviews) {
if (subview.tag == viewStatus)
subview.hidden = NO;
else
subview.hidden = YES;
}
Run Code Online (Sandbox Code Playgroud)
但我想做的是允许这样做:
subview1.tag = FileNotDownloaded | FileDownloaded;
Run Code Online (Sandbox Code Playgroud)
所以我subview1出现在我看来的两个状态.目前,由于|运算符似乎添加了两个枚举值,因此它不会出现在这两个状态中的任何一个状态中.
有没有办法做到这一点?