how about this instead? saves looping through subviews twice
```objc
for (UIView *subview in self.subviews) {
   if (![subview cmd_isVisible]) continue;
```