use visibleCells instead of subviews