Interface Builder Auto将UIImageView添加到我的视图中

时间:2013-02-28 16:46:53

标签: ios uiview uiimageview interface-builder

我像这样创建界面构建器树

myScrollview
    UIView

当我运行它时,滚动视图显示有3个像这样的子视图

myScrollview
   UIView
   UIImageView
   UIImageView

此代码测试此结果(带断点和监视面板) 在super viewDidLoad

之前添加了哪些代码
for(int i = 0 ; i < myScrollview.subviews.count ; i++){  
    id temp = [myScrollview.subviews objectAtIndex:i];  
}

删除一些属性后出现错误,我已经检查了界面构建器,没有与此删除相关的警告

我该怎么做才能更好地了解这个错误?


  

已解决

我将第3个scrollview移到后面。此视图加载了loadNib 而且我想我没有把它隐藏起来(已设置它但它不会消失)。 不知道我应该在哪里设置ThridScrollView.hidden = TRUE。 〜__〜'

2 个答案:

答案 0 :(得分:0)

那段代码错了。您正在寻找myScrollview中的对象而不是myScrollview.subviews

应该是:

for(int i = 0 ; i < myScrollview.subviews.count ; i++){  
    id temp = [myScrollview.subviews objectAtIndex:i];  
}

答案 1 :(得分:0)

这是完全正常的,我可以在IB中自己复制它。 UIScrollView包含许多您无权访问的子视图。这包括一些UIImageViews,用于显示当您跳过UIScrollView超出其边缘时出现的“渐变”。

您所看到的是Apple在滚动视图实现中使用的“私有”视图。您应该忽略它们,并记住,对于Apple提供的大多数视图类(滚动视图,表视图,集合视图等),还有其他未记录的子视图,Apple内部使用这些子视图。作为一般规则,您应该记住,subviews可能具有欺骗性,因为UIView子类中有一些您通常不知道的内容。

如果您遇到了您认为可能涉及这些私有图片视图的问题,请告诉我们 - 或许提供有关问题究竟是什么的更多详细信息?截图可能非常有用。