0

我有一个带有一堆单元格和一个页脚的 UICollectionView。在这个页脚中,我有一个按钮和标签,我想用它来做一些事情(更改标签的文本,为按钮设置动画等)。所以我尝试为我的控制器创建一个出口,以便我可以使用这些对象,但是当我这样做时,我收到一个错误,说我有一个非法的配置:连接不能有一个原型对象作为它的目的地。为什么是这样?有没有办法绕过它?

非常感谢!

4

1 回答 1

2

不要通过 连接这些 UI 元素,而是IBOutlet在您的 NIB 或故事板文件中为它们设置一个标记值,并使用该值引用它们。例如:

如果您将UILabel标签设置为 5

- (UICollectionReusableView *)collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath
{


      UICollectionReusableView *footerView = [collectionView dequeueReusableSupplementaryViewOfKind:UICollectionElementKindSectionFooter withReuseIdentifier:@"FooterView" forIndexPath:indexPath];

      UILabel *label = (UILabel*)[footerView viewWithTag:5];
      label.text = //set text;

      return footerView;

}

正如代码以及您的错误所暗示的那样,页眉和页脚视图以及 a 的单元格UICollectionView被重用。IBOutlets 指的是导致您的问题的单个对象。

于 2013-08-15T22:06:11.163 回答