UITableViewCell view hierarchy has changed a bit in iOS 7
On iOS <= 6, the hierarchy looks like
<UITableViewCell> | <UITableViewCellContentView> | | <UILabel>
whereas in iOS 7 it looks like
<UITableViewCell> | <UITableViewCellScrollView> | | <UIButton> | | | <UIImageView> | | <UITableViewCellContentView> | | | <UILabel>
(source: http://www.curiousfind.com/blog/646 )
When you add a subview, it is inserted into the UITableViewCellContentView , which is one level deeper than where you are looking.
isKindOfClass: working correctly, the problem is that you are going through the wrong set of subheadings.
By the way, this is a great example of why you should never rely on internal hierarchies of views: Apple can change them at any time.
source share