recursiveDescriptionメソッドを使うと、UIViewの中身を階層的に表示できます。そんなメソッドみたことない?そりゃそうです。ドキュメントに記載されてませんから。普通にメソッド呼び出しすると怒られちゃうので、performSelectorを使って呼び出しちゃいましょう。
使用例
NSLog(@"%@", [viewController1.view performSelector:@selector(recursiveDescription)]);
実行結果
<UIView: 0x7665600; frame = (0 0; 320 411); autoresize = W+H; layer = <CALayer: 0x76656b0>>
| <UILabel: 0x7665770; frame = (20 79; 280 43); text = 'First View'; clipsToBounds = YES; opaque = NO; autoresize = W+BM; userInteractionEnabled = NO; layer = <CALayer: 0x7665830>>
| <UITextView: 0x90f8000; frame = (20 162; 280 88); text = 'Loaded by the first view
...'; clipsToBounds = YES; opaque = NO; autoresize = W+BM; userInteractionEnabled = NO; gestureRecognizers = <NSArray: 0x7667070>; layer = <CALayer: 0x7666580>; contentOffset: {0, 0}>
| | <UITextSelectionView: 0x7666850; frame = (0 0; 0 0); userInteractionEnabled = NO; layer = <CALayer: 0x7666920>>
| | <UIImageView: 0x7667840; frame = (273 0; 7 88); alpha = 0; opaque = NO; autoresize = LM; userInteractionEnabled = NO; layer = <CALayer: 0x76679f0>>
| | <UIWebDocumentView: 0x9100400; frame = (0 0; 280 88); text = 'Loaded by the first view
...'; opaque = NO; userInteractionEnabled = NO; gestureRecognizers = <NSArray: 0x715e4d0>; layer = <UIWebLayer: 0x715cf20>>
| | | <TileHostLayer: 0x715d5b0> (layer)
| | | | <TileLayer: 0x8a99640> (layer)
| | <UITextSelectionView: 0x8a8abc0; frame = (0 0; 0 0); userInteractionEnabled = NO; layer = <CALayer: 0x8a8ac40>>
| <UILabel: 0x7665770; frame = (20 79; 280 43); text = 'First View'; clipsToBounds = YES; opaque = NO; autoresize = W+BM; userInteractionEnabled = NO; layer = <CALayer: 0x7665830>>
| <UITextView: 0x90f8000; frame = (20 162; 280 88); text = 'Loaded by the first view
...'; clipsToBounds = YES; opaque = NO; autoresize = W+BM; userInteractionEnabled = NO; gestureRecognizers = <NSArray: 0x7667070>; layer = <CALayer: 0x7666580>; contentOffset: {0, 0}>
| | <UITextSelectionView: 0x7666850; frame = (0 0; 0 0); userInteractionEnabled = NO; layer = <CALayer: 0x7666920>>
| | <UIImageView: 0x7667840; frame = (273 0; 7 88); alpha = 0; opaque = NO; autoresize = LM; userInteractionEnabled = NO; layer = <CALayer: 0x76679f0>>
| | <UIWebDocumentView: 0x9100400; frame = (0 0; 280 88); text = 'Loaded by the first view
...'; opaque = NO; userInteractionEnabled = NO; gestureRecognizers = <NSArray: 0x715e4d0>; layer = <UIWebLayer: 0x715cf20>>
| | | <TileHostLayer: 0x715d5b0> (layer)
| | | | <TileLayer: 0x8a99640> (layer)
| | <UITextSelectionView: 0x8a8abc0; frame = (0 0; 0 0); userInteractionEnabled = NO; layer = <CALayer: 0x8a8ac40>>
便利なメソッドだけど、ドキュメントに記載されていない脱法メソッドなので、公開申請する前にはきっちりコメントアウトするように!