代码和情节提要之间的滚动视图和子视图不匹配?



我在Storyboards文件中创建了一个UIScrollView,并将其正确连接到控制器IBOutlet属性。以下是故事板中的内容:

  • UIS滚动视图
    • UI视图1
    • UI视图2
    • UI视图3
    • 限制

这是我在viewDidLoad:上运行的代码

- (void)viewDidLoad {
    [super viewDidLoad];
    NSLog(@"COUNT: %d", [self.scrollView subviews].count);
    for(UIView *v in [self.scrollView subviews]) {
        NSLog(@"View: %@", v);
    }
}

因此,我希望在控制台日志中列出我的3个视图。然而,它正在打印一些完全无关的东西(2 UIImageViews?):

2014-09-17 13:06:33.155 Project[6333:652705] COUNT: 2
2014-09-17 13:06:33.156 Project[6333:652705] View: <UIImageView: 0x7b094460; frame = (233 124.5; 7 3.5); alpha = 0; opaque = NO; autoresize = TM; userInteractionEnabled = NO; layer = <CALayer: 0x7b0947c0>>
2014-09-17 13:06:33.156 Project[6333:652705] View: <UIImageView: 0x7b094fb0; frame = (236.5 121; 3.5 7); alpha = 0; opaque = NO; autoresize = LM; userInteractionEnabled = NO; layer = <CALayer: 0x7b095080>>

我可能显然做错了什么,但接口生成器或出口连接本身中是否存在某种缓存?

图像视图是滚动视图边缘的滚动条。调用viewDidLoad时,视图层次结构尚未完全安装。将代码移到awakeFromNib方法中(注意图像视图-通常不依赖于subviews,保持对要访问的视图的显式引用)。

最新更新