Skip to content

Instantly share code, notes, and snippets.

@hfossli
Last active May 19, 2016 10:41
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hfossli/f8c4947d3475615cd10fd6da954e4823 to your computer and use it in GitHub Desktop.
Save hfossli/f8c4947d3475615cd10fd6da954e4823 to your computer and use it in GitHub Desktop.
#import "ViewController.h"
@interface Scroll : UIScrollView
@end
@implementation Scroll
- (void)setNeedsLayout
{
NSLog(@"setNeedsLayout called in %@", self);
[super setNeedsLayout];
}
- (void)layoutSubviews
{
NSLog(@"layoutSubviews called in %@", self);
[super layoutSubviews];
}
@end
@interface Sub : UIView
@end
@implementation Sub
- (void)setNeedsLayout
{
NSLog(@"setNeedsLayout called in %@", self);
[super setNeedsLayout];
}
- (void)layoutSubviews
{
NSLog(@"layoutSubviews called in %@", self);
[super layoutSubviews];
}
@end
@interface ViewController ()
@end
@implementation ViewController
- (void)loadView
{
Sub *sub = [Sub new];
sub.frame = CGRectMake(10, 10, 100, 100);
sub.backgroundColor = [UIColor blueColor];
Scroll *scrollView = [Scroll new];
[scrollView addSubview:sub];
scrollView.alwaysBounceVertical = YES;
self.view = scrollView;
}
- (void)viewDidLoad
{
[super viewDidLoad];
}
@end
/* I was just scrolling up and down to get this result */
2016-05-19 12:38:35.915 asdfa[46564:550808] setNeedsLayout called in <Scroll: 0x7f9054005400; baseClass = UIScrollView; frame = (0 0; 375 667); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x7f9051503070>; layer = <CALayer: 0x7f9051514370>; contentOffset: {0, 0}; contentSize: {0, 0}>
2016-05-19 12:38:35.916 asdfa[46564:550808] layoutSubviews called in <Scroll: 0x7f9054005400; baseClass = UIScrollView; frame = (0 0; 375 667); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x7f9051503070>; layer = <CALayer: 0x7f9051514370>; contentOffset: {0, 0}; contentSize: {0, 0}>
2016-05-19 12:38:35.916 asdfa[46564:550808] layoutSubviews called in <Sub: 0x7f9051508380; frame = (10 10; 100 100); layer = <CALayer: 0x7f9051510850>>
2016-05-19 12:38:35.916 asdfa[46564:550808] layoutSubviews called in <Scroll: 0x7f9054005400; baseClass = UIScrollView; frame = (0 0; 375 667); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x7f9051503070>; layer = <CALayer: 0x7f9051514370>; contentOffset: {0, 0}; contentSize: {0, 0}>
2016-05-19 12:38:36.735 asdfa[46564:550808] layoutSubviews called in <Scroll: 0x7f9054005400; baseClass = UIScrollView; frame = (0 0; 375 667); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x7f9051503070>; layer = <CALayer: 0x7f9051514370>; contentOffset: {0, 2}; contentSize: {0, 0}>
2016-05-19 12:38:36.751 asdfa[46564:550808] layoutSubviews called in <Scroll: 0x7f9054005400; baseClass = UIScrollView; frame = (0 0; 375 667); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x7f9051503070>; layer = <CALayer: 0x7f9051514370>; contentOffset: {0, 9}; contentSize: {0, 0}>
2016-05-19 12:38:36.768 asdfa[46564:550808] layoutSubviews called in <Scroll: 0x7f9054005400; baseClass = UIScrollView; frame = (0 0; 375 667); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x7f9051503070>; layer = <CALayer: 0x7f9051514370>; contentOffset: {0, 16.5}; contentSize: {0, 0}>
2016-05-19 12:38:36.785 asdfa[46564:550808] layoutSubviews called in <Scroll: 0x7f9054005400; baseClass = UIScrollView; frame = (0 0; 375 667); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x7f9051503070>; layer = <CALayer: 0x7f9051514370>; contentOffset: {0, 23.5}; contentSize: {0, 0}>
2016-05-19 12:38:36.802 asdfa[46564:550808] layoutSubviews called in <Scroll: 0x7f9054005400; baseClass = UIScrollView; frame = (0 0; 375 667); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x7f9051503070>; layer = <CALayer: 0x7f9051514370>; contentOffset: {0, 29}; contentSize: {0, 0}>
2016-05-19 12:38:36.833 asdfa[46564:550808] layoutSubviews called in <Scroll: 0x7f9054005400; baseClass = UIScrollView; frame = (0 0; 375 667); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x7f9051503070>; layer = <CALayer: 0x7f9051514370>; contentOffset: {0, 36}; contentSize: {0, 0}>
2016-05-19 12:38:36.850 asdfa[46564:550808] layoutSubviews called in <Scroll: 0x7f9054005400; baseClass = UIScrollView; frame = (0 0; 375 667); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x7f9051503070>; layer = <CALayer: 0x7f9051514370>; contentOffset: {0, 39.5}; contentSize: {0, 0}>
2016-05-19 12:38:36.866 asdfa[46564:550808] layoutSubviews called in <Scroll: 0x7f9054005400; baseClass = UIScrollView; frame = (0 0; 375 667); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x7f9051503070>; layer = <CALayer: 0x7f9051514370>; contentOffset: {0, 41}; contentSize: {0, 0}>
2016-05-19 12:38:36.900 asdfa[46564:550808] layoutSubviews called in <Scroll: 0x7f9054005400; baseClass = UIScrollView; frame = (0 0; 375 667); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x7f9051503070>; layer = <CALayer: 0x7f9051514370>; contentOffset: {0, 39.5}; contentSize: {0, 0}>
2016-05-19 12:38:36.917 asdfa[46564:550808] layoutSubviews called in <Scroll: 0x7f9054005400; baseClass = UIScrollView; frame = (0 0; 375 667); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x7f9051503070>; layer = <CALayer: 0x7f9051514370>; contentOffset: {0, 37.5}; contentSize: {0, 0}>
2016-05-19 12:38:36.933 asdfa[46564:550808] layoutSubviews called in <Scroll: 0x7f9054005400; baseClass = UIScrollView; frame = (0 0; 375 667); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x7f9051503070>; layer = <CALayer: 0x7f9051514370>; contentOffset: {0, 35.5}; contentSize: {0, 0}>
2016-05-19 12:38:36.950 asdfa[46564:550808] layoutSubviews called in <Scroll: 0x7f9054005400; baseClass = UIScrollView; frame = (0 0; 375 667); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x7f9051503070>; layer = <CALayer: 0x7f9051514370>; contentOffset: {0, 32.5}; contentSize: {0, 0}>
2016-05-19 12:38:36.966 asdfa[46564:550808] layoutSubviews called in <Scroll: 0x7f9054005400; baseClass = UIScrollView; frame = (0 0; 375 667); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x7f9051503070>; layer = <CALayer: 0x7f9051514370>; contentOffset: {0, 30}; contentSize: {0, 0}>
2016-05-19 12:38:36.983 asdfa[46564:550808] layoutSubviews called in <Scroll: 0x7f9054005400; baseClass = UIScrollView; frame = (0 0; 375 667); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x7f9051503070>; layer = <CALayer: 0x7f9051514370>; contentOffset: {0, 27}; contentSize: {0, 0}>
2016-05-19 12:38:37.000 asdfa[46564:550808] layoutSubviews called in <Scroll: 0x7f9054005400; baseClass = UIScrollView; frame = (0 0; 375 667); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x7f9051503070>; layer = <CALayer: 0x7f9051514370>; contentOffset: {0, 24.5}; contentSize: {0, 0}>
2016-05-19 12:38:37.016 asdfa[46564:550808] layoutSubviews called in <Scroll: 0x7f9054005400; baseClass = UIScrollView; frame = (0 0; 375 667); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x7f9051503070>; layer = <CALayer: 0x7f9051514370>; contentOffset: {0, 22}; contentSize: {0, 0}>
2016-05-19 12:38:37.033 asdfa[46564:550808] layoutSubviews called in <Scroll: 0x7f9054005400; baseClass = UIScrollView; frame = (0 0; 375 667); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x7f9051503070>; layer = <CALayer: 0x7f9051514370>; contentOffset: {0, 19.5}; contentSize: {0, 0}>
2016-05-19 12:38:37.049 asdfa[46564:550808] layoutSubviews called in <Scroll: 0x7f9054005400; baseClass = UIScrollView; frame = (0 0; 375 667); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x7f9051503070>; layer = <CALayer: 0x7f9051514370>; contentOffset: {0, 17.5}; contentSize: {0, 0}>
2016-05-19 12:38:37.066 asdfa[46564:550808] layoutSubviews called in <Scroll: 0x7f9054005400; baseClass = UIScrollView; frame = (0 0; 375 667); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x7f9051503070>; layer = <CALayer: 0x7f9051514370>; contentOffset: {0, 15.5}; contentSize: {0, 0}>
2016-05-19 12:38:37.083 asdfa[46564:550808] layoutSubviews called in <Scroll: 0x7f9054005400; baseClass = UIScrollView; frame = (0 0; 375 667); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x7f9051503070>; layer = <CALayer: 0x7f9051514370>; contentOffset: {0, 13.5}; contentSize: {0, 0}>
2016-05-19 12:38:37.100 asdfa[46564:550808] layoutSubviews called in <Scroll: 0x7f9054005400; baseClass = UIScrollView; frame = (0 0; 375 667); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x7f9051503070>; layer = <CALayer: 0x7f9051514370>; contentOffset: {0, 12}; contentSize: {0, 0}>
2016-05-19 12:38:37.116 asdfa[46564:550808] layoutSubviews called in <Scroll: 0x7f9054005400; baseClass = UIScrollView; frame = (0 0; 375 667); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x7f9051503070>; layer = <CALayer: 0x7f9051514370>; contentOffset: {0, 10.5}; contentSize: {0, 0}>
2016-05-19 12:38:37.133 asdfa[46564:550808] layoutSubviews called in <Scroll: 0x7f9054005400; baseClass = UIScrollView; frame = (0 0; 375 667); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x7f9051503070>; layer = <CALayer: 0x7f9051514370>; contentOffset: {0, 9}; contentSize: {0, 0}>
2016-05-19 12:38:37.150 asdfa[46564:550808] layoutSubviews called in <Scroll: 0x7f9054005400; baseClass = UIScrollView; frame = (0 0; 375 667); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x7f9051503070>; layer = <CALayer: 0x7f9051514370>; contentOffset: {0, 8}; contentSize: {0, 0}>
2016-05-19 12:38:37.166 asdfa[46564:550808] layoutSubviews called in <Scroll: 0x7f9054005400; baseClass = UIScrollView; frame = (0 0; 375 667); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x7f9051503070>; layer = <CALayer: 0x7f9051514370>; contentOffset: {0, 7}; contentSize: {0, 0}>
2016-05-19 12:38:37.183 asdfa[46564:550808] layoutSubviews called in <Scroll: 0x7f9054005400; baseClass = UIScrollView; frame = (0 0; 375 667); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x7f9051503070>; layer = <CALayer: 0x7f9051514370>; contentOffset: {0, 6}; contentSize: {0, 0}>
2016-05-19 12:38:37.199 asdfa[46564:550808] layoutSubviews called in <Scroll: 0x7f9054005400; baseClass = UIScrollView; frame = (0 0; 375 667); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x7f9051503070>; layer = <CALayer: 0x7f9051514370>; contentOffset: {0, 5.5}; contentSize: {0, 0}>
2016-05-19 12:38:37.216 asdfa[46564:550808] layoutSubviews called in <Scroll: 0x7f9054005400; baseClass = UIScrollView; frame = (0 0; 375 667); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x7f9051503070>; layer = <CALayer: 0x7f9051514370>; contentOffset: {0, 4.5}; contentSize: {0, 0}>
2016-05-19 12:38:37.233 asdfa[46564:550808] layoutSubviews called in <Scroll: 0x7f9054005400; baseClass = UIScrollView; frame = (0 0; 375 667); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x7f9051503070>; layer = <CALayer: 0x7f9051514370>; contentOffset: {0, 4}; contentSize: {0, 0}>
2016-05-19 12:38:37.249 asdfa[46564:550808] layoutSubviews called in <Scroll: 0x7f9054005400; baseClass = UIScrollView; frame = (0 0; 375 667); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x7f9051503070>; layer = <CALayer: 0x7f9051514370>; contentOffset: {0, 3.5}; contentSize: {0, 0}>
2016-05-19 12:38:37.267 asdfa[46564:550808] layoutSubviews called in <Scroll: 0x7f9054005400; baseClass = UIScrollView; frame = (0 0; 375 667); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x7f9051503070>; layer = <CALayer: 0x7f9051514370>; contentOffset: {0, 3}; contentSize: {0, 0}>
2016-05-19 12:38:37.283 asdfa[46564:550808] layoutSubviews called in <Scroll: 0x7f9054005400; baseClass = UIScrollView; frame = (0 0; 375 667); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x7f9051503070>; layer = <CALayer: 0x7f9051514370>; contentOffset: {0, 2.5}; contentSize: {0, 0}>
2016-05-19 12:38:37.300 asdfa[46564:550808] layoutSubviews called in <Scroll: 0x7f9054005400; baseClass = UIScrollView; frame = (0 0; 375 667); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x7f9051503070>; layer = <CALayer: 0x7f9051514370>; contentOffset: {0, 2}; contentSize: {0, 0}>
2016-05-19 12:38:37.332 asdfa[46564:550808] layoutSubviews called in <Scroll: 0x7f9054005400; baseClass = UIScrollView; frame = (0 0; 375 667); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x7f9051503070>; layer = <CALayer: 0x7f9051514370>; contentOffset: {0, 1.5}; contentSize: {0, 0}>
2016-05-19 12:38:37.365 asdfa[46564:550808] layoutSubviews called in <Scroll: 0x7f9054005400; baseClass = UIScrollView; frame = (0 0; 375 667); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x7f9051503070>; layer = <CALayer: 0x7f9051514370>; contentOffset: {0, 1}; contentSize: {0, 0}>
2016-05-19 12:38:37.432 asdfa[46564:550808] layoutSubviews called in <Scroll: 0x7f9054005400; baseClass = UIScrollView; frame = (0 0; 375 667); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x7f9051503070>; layer = <CALayer: 0x7f9051514370>; contentOffset: {0, 0.5}; contentSize: {0, 0}>
2016-05-19 12:38:37.466 asdfa[46564:550808] layoutSubviews called in <Scroll: 0x7f9054005400; baseClass = UIScrollView; frame = (0 0; 375 667); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x7f9051503070>; layer = <CALayer: 0x7f9051514370>; contentOffset: {0, 0}; contentSize: {0, 0}>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment