我有一个带有一堆单元格和一个页脚的 UICollectionView。在这个页脚中,我有一个按钮和标签,我想用它来做一些事情(更改标签的文本,为按钮设置动画等)。所以我尝试为我的控制器创建一个出口,以便我可以使用这些对象,但是当我这样做时,我收到一个错误,说我有一个非法的配置:连接不能有一个原型对象作为它的目的地。为什么是这样?有没有办法绕过它?
非常感谢!
我有一个带有一堆单元格和一个页脚的 UICollectionView。在这个页脚中,我有一个按钮和标签,我想用它来做一些事情(更改标签的文本,为按钮设置动画等)。所以我尝试为我的控制器创建一个出口,以便我可以使用这些对象,但是当我这样做时,我收到一个错误,说我有一个非法的配置:连接不能有一个原型对象作为它的目的地。为什么是这样?有没有办法绕过它?
非常感谢!
不要通过 连接这些 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
被重用。IBOutlet
s 指的是导致您的问题的单个对象。