Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>These are private view controllers. You can’t (well, shouldn’t) customize them—you’ll have to reimplement them yourself.</p> <p>You can however, use the private method <code>-recursiveDescription</code> to get an idea of how the view hierarchy’s constructed. Create a simple app that shares some text using <code>UIActivityViewController</code>. Present it, pick Twitter or Facebook, then pause the app in the debugger. Type <code>po [[[UIApplication sharedApplication] keyWindow] recursiveDescription]</code> into the console to list the current view hierarchy.</p> <p><strong>EDIT:</strong> Ok, I was curious…</p> <pre><code> | &lt;UIImageView: 0x75c7830; frame = (0 0; 320 568); opaque = NO; autoresize = W+H; userInteractionEnabled = NO; layer = &lt;CALayer: 0x75c7890&gt;&gt; | &lt;UIView: 0x75c7900; frame = (0 20; 320 548); opaque = NO; autoresize = LM+W+RM+H; layer = &lt;CALayer: 0x75c7960&gt;&gt; | | &lt;SLTwitterSheetCardView: 0x75b4950; frame = (-9 25; 337 188); opaque = NO; autoresize = W+H; layer = &lt;CALayer: 0x75b4a40&gt;&gt; | | | &lt;UIView: 0x75c86b0; frame = (13 0; 311 188); clipsToBounds = YES; autoresize = W+H; layer = &lt;CALayer: 0x75c8710&gt;&gt; | | | | &lt;UIImageView: 0x767b680; frame = (0 3; 311 184); clipsToBounds = YES; alpha = 0.75; opaque = NO; autoresize = W+TM+H; userInteractionEnabled = NO; layer = &lt;CALayer: 0x767e4a0&gt;&gt; | | | | &lt;UIImageView: 0x7678a50; frame = (0 0; 311 188); opaque = NO; autoresize = W+H+BM; userInteractionEnabled = NO; layer = &lt;CALayer: 0x767b8b0&gt;&gt; | | | | &lt;UIView: 0x75c8770; frame = (0 0; 311 188); autoresize = W+H; layer = &lt;CALayer: 0x75c87d0&gt;&gt; | | | | | &lt;SLTwitterExpandedHitTestView: 0x767d950; frame = (6 155; 303 26); opaque = NO; autoresize = RM+TM; layer = &lt;CALayer: 0x767da00&gt;&gt; | | | | | | &lt;SLTwitterExpandedHitTestImageView: 0x767ea60; baseClass = UIImageView; frame = (30 -6; 272 42); alpha = 0; autoresize = RM+BM; userInteractionEnabled = NO; layer = &lt;CALayer: 0x767eb10&gt;&gt; | | | | | | &lt;SLTwitterExpandedHitTestButton: 0x767a4e0; baseClass = UIButton; frame = (5 5; 21 21); opaque = NO; autoresize = RM+BM; layer = &lt;CALayer: 0x767a5a0&gt;&gt; | | | | | | | &lt;UIImageView: 0x7176770; frame = (0 0; 21 21); clipsToBounds = YES; opaque = NO; userInteractionEnabled = NO; layer = &lt;CALayer: 0x719cb70&gt;&gt; | | | | | | | &lt;UIButtonLabel: 0x767c680; frame = (0 0; 0 0); clipsToBounds = YES; hidden = YES; opaque = NO; userInteractionEnabled = NO; layer = &lt;CALayer: 0x767bbe0&gt;&gt; | | | | | | &lt;SLTwitterExpandedHitTestButton: 0x7193d10; baseClass = UIButton; frame = (120 7; 17 17); alpha = 0; opaque = NO; autoresize = RM+BM; layer = &lt;CALayer: 0x7193660&gt;&gt; | | | | | | | &lt;UIImageView: 0x7172000; frame = (0 0; 17 17); clipsToBounds = YES; opaque = NO; userInteractionEnabled = NO; layer = &lt;CALayer: 0x719da50&gt;&gt; | | | | | | | &lt;UIButtonLabel: 0x7194900; frame = (0 0; 0 0); clipsToBounds = YES; hidden = YES; opaque = NO; userInteractionEnabled = NO; layer = &lt;CALayer: 0x71949a0&gt;&gt; | | | | | | &lt;SLTwitterExpandedHitTestButton: 0x767d1a0; baseClass = UIButton; frame = (29 -1; 84 37); alpha = 0.8; opaque = NO; autoresize = RM+BM; layer = &lt;CALayer: 0x767d260&gt;&gt; | | | | | | | &lt;UIButtonLabel: 0x767d580; frame = (0 9; 84 16); text = 'Add Location'; clipsToBounds = YES; opaque = NO; userInteractionEnabled = NO; layer = &lt;CALayer: 0x767d620&gt;&gt; | | | | &lt;UIView: 0x7678160; frame = (0 0; 311 188); opaque = NO; autoresize = W+H; userInteractionEnabled = NO; layer = &lt;CALayer: 0x76781c0&gt;&gt; | | | &lt;UIImageView: 0x7680aa0; frame = (0 -34; 337 255); opaque = NO; autoresize = W+H; userInteractionEnabled = NO; layer = &lt;CALayer: 0x7680b00&gt;&gt; | | | &lt;UILabel: 0x75b4bb0; frame = (282 157; 29 29); text = '132'; clipsToBounds = YES; alpha = 0.7; opaque = NO; autoresize = LM+TM; userInteractionEnabled = NO; layer = &lt;CALayer: 0x75b4c40&gt;&gt; | | | &lt;UIView: 0x75b5da0; frame = (14 41; 309 3); opaque = NO; autoresize = W+BM; layer = &lt;CALayer: 0x75b5e00&gt;&gt; | | | &lt;UIButton: 0x75b33e0; frame = (20 7; 64 30); opaque = NO; autoresize = RM+BM; layer = &lt;CALayer: 0x75b34a0&gt;&gt; | | | | &lt;UIImageView: 0x719c910; frame = (0 0; 64 30); clipsToBounds = YES; opaque = NO; userInteractionEnabled = NO; layer = &lt;CALayer: 0x716f230&gt;&gt; | | | | &lt;UIButtonLabel: 0x75b37d0; frame = (12 7; 40 15); text = 'Cancel'; clipsToBounds = YES; opaque = NO; userInteractionEnabled = NO; layer = &lt;CALayer: 0x75b3870&gt;&gt; | | | &lt;UIButton: 0x75b3a60; frame = (265 7; 52 30); alpha = 0; opaque = NO; autoresize = RM+BM; layer = &lt;CALayer: 0x75b3b20&gt;&gt; | | | | &lt;UIImageView: 0x767dc40; frame = (0 0; 52 30); clipsToBounds = YES; opaque = NO; userInteractionEnabled = NO; layer = &lt;CALayer: 0x76890a0&gt;&gt; | | | | &lt;UIButtonLabel: 0x75b3c20; frame = (6 7; 40 15); text = 'Cancel'; clipsToBounds = YES; opaque = NO; userInteractionEnabled = NO; layer = &lt;CALayer: 0x75b3cc0&gt;&gt; | | | &lt;UIButton: 0x75b3ef0; frame = (263 7; 54 30); opaque = NO; autoresize = LM+BM; layer = &lt;CALayer: 0x75b3fb0&gt;&gt; | | | | &lt;UIImageView: 0x768f4f0; frame = (0 0; 54 30); clipsToBounds = YES; opaque = NO; userInteractionEnabled = NO; layer = &lt;CALayer: 0x768eb60&gt;&gt; | | | | &lt;UIButtonLabel: 0x75b40e0; frame = (12 7; 30 15); text = 'Send'; clipsToBounds = YES; opaque = NO; userInteractionEnabled = NO; layer = &lt;CALayer: 0x75b4180&gt;&gt; | | | &lt;UILabel: 0x75c6d40; frame = (139 5; 59 32); text = 'Tweet'; clipsToBounds = YES; opaque = NO; autoresize = W+BM; userInteractionEnabled = NO; layer = &lt;CALayer: 0x75c6a10&gt;&gt; | | | &lt;UIView: 0x7191800; frame = (14 43; 311 112); clipsToBounds = YES; autoresize = W+H; layer = &lt;CALayer: 0x71952a0&gt;&gt; | | | | &lt;UITextView: 0x8227400; frame = (0 0; 311 112); text = 'NSString'; opaque = NO; autoresize = W+H; gestureRecognizers = &lt;NSArray: 0x75b6ff0&gt;; layer = &lt;CALayer: 0x75b6990&gt;; contentOffset: {-0, 10}&gt; | | | | | &lt;UITextSelectionView: 0x75b6bf0; frame = (0 0; 0 0); userInteractionEnabled = NO; layer = &lt;CALayer: 0x75b6ca0&gt;&gt; | | | | | &lt;UIImageView: 0x75b71e0; frame = (0 105; 217 7); alpha = 0; opaque = NO; autoresize = TM; userInteractionEnabled = NO; layer = &lt;CALayer: 0x75b7280&gt;&gt; | | | | | &lt;UIImageView: 0x75b7320; frame = (304 70; 7 37); alpha = 0; opaque = NO; autoresize = LM; userInteractionEnabled = NO; layer = &lt;CALayer: 0x75b73c0&gt;&gt; | | | | | &lt;UIWebDocumentView: 0x8227800; frame = (0 0; 311 45); text = 'NSString'; opaque = NO; userInteractionEnabled = NO; gestureRecognizers = &lt;NSArray: 0x75bc490&gt;; layer = &lt;UIWebLayer: 0x75bb0d0&gt;&gt; | | | | | | &lt;TileHostLayer: 0x75bb770&gt; (layer) | | | | | | | &lt;TileLayer: 0x75c7270&gt; (layer) | | | | | &lt;UITextSelectionView: 0x75c6220; frame = (0 0; 0 0); userInteractionEnabled = NO; layer = &lt;CALayer: 0x75c62a0&gt;&gt; | | | | | | &lt;UIView: 0x75a09b0; frame = (75 9; 3 24); alpha = 0; userInteractionEnabled = NO; layer = &lt;CALayer: 0x75bde40&gt;&gt; | | | | | &lt;UIView: 0x75b5f10; frame = (-1 41; 311 3); alpha = 0; opaque = NO; autoresize = W+BM; layer = &lt;CALayer: 0x75b5f70&gt;&gt; | | | | | &lt;UIView: 0x8a6ebc0; frame = (0 -216; 313 1); opaque = NO; layer = &lt;CALayer: 0x8a6e750&gt;&gt; | | | | | &lt;UIView: 0x8a6ec50; frame = (0 -188; 313 1); opaque = NO; layer = &lt;CALayer: 0x8a6e600&gt;&gt; | | | | | &lt;UIView: 0x8a6e630; frame = (0 -160; 313 1); opaque = NO; layer = &lt;CALayer: 0x8a6e690&gt;&gt; | | | | | &lt;UIView: 0x8a6e6c0; frame = (0 -132; 313 1); opaque = NO; layer = &lt;CALayer: 0x8a6ecd0&gt;&gt; | | | | | &lt;UIView: 0x8a6ed00; frame = (0 -104; 313 1); opaque = NO; layer = &lt;CALayer: 0x8a6ed60&gt;&gt; | | | | | &lt;UIView: 0x8a6ed90; frame = (0 -76; 313 1); opaque = NO; layer = &lt;CALayer: 0x8a6edf0&gt;&gt; | | | | | &lt;UIView: 0x8a6ee20; frame = (0 -48; 313 1); opaque = NO; layer = &lt;CALayer: 0x8a6ee80&gt;&gt; | | | | | &lt;UIView: 0x8a6ef10; frame = (0 -20; 313 1); opaque = NO; layer = &lt;CALayer: 0x8a6eeb0&gt;&gt; | | | | | &lt;UIView: 0x8a6ef70; frame = (0 8; 313 1); opaque = NO; layer = &lt;CALayer: 0x8a6efd0&gt;&gt; | | | | | &lt;UIView: 0x8a6f000; frame = (0 36; 313 1); opaque = NO; layer = &lt;CALayer: 0x8a6f060&gt;&gt; | | | | | &lt;UIView: 0x8a6f090; frame = (0 64; 313 1); opaque = NO; layer = &lt;CALayer: 0x8a6f0f0&gt;&gt; | | | | | &lt;UIView: 0x8a6f120; frame = (0 92; 313 1); opaque = NO; layer = &lt;CALayer: 0x8a6f180&gt;&gt; | | | | | &lt;UIView: 0x8a6f1b0; frame = (0 120; 313 1); opaque = NO; layer = &lt;CALayer: 0x8a6f210&gt;&gt; | | | | | &lt;UIView: 0x8a6f240; frame = (0 148; 313 1); opaque = NO; layer = &lt;CALayer: 0x8a6f2a0&gt;&gt; | | | &lt;UIImageView: 0x75b5110; frame = (251 43; 79 34); alpha = 0; autoresize = LM+BM; userInteractionEnabled = NO; layer = &lt;CALayer: 0x75b5170&gt;&gt; </code></pre> <p>Basically, it’s what you’d expect: a bunch of background images, a label and buttons to fake the navigation bar style and a big text view for content.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload