我对iOS有点新,我正在使用UICollectionView
。我的UICollectionView
单元格中填充了来自我的其余服务器的数组中的值。
所以我把它们拉下来并分配字段,ID,名称和文本。当我点击特定的细胞时。我想发送该单元格的ID(我们刚下拉的ID)并将其作为参数发送到我的php。到目前为止,我正在使用ID填充我的collectionview,但是当我点击单元格时出现问题,我不确定如何获取ID。在didSelectCellAtIndex
方法中我试图使用
UICollectionViewCell *cell = [collectionView cellForItemAtIndexPath:indexPath];
//dictionary[indexPath.row].;
cell.
但是我不知道如何参考我想要的房产。从
开始cellForItemAtIndexPath
我将我想要的标签定义为
UILabel *myid=(UILabel *)[cell viewWithTag:1];
任何帮助将标签中的ID分配给要发送到我的php的变量都将不胜感激。
答案 0 :(得分:1)
我建议您创建一个自定义单元格(UICollectionViewCell
的子类),其中包含需要配置的每个子视图的属性(如果您使用xib / storyboard,则为IBOutlet
)。这样他们就可以被访问了。像这样:
@interface MyCollectionViewCell : UICollectionViewCell
@property (nonatomic, weak) IBOutlet UILabel *IDLabel;
@end
您可以直接访问它:
MyCollectionViewCell *cell = (MyCollectionViewCell *)[collectionView cellForItemAtIndexPath:indexPath];
cell.IDLabel
或者像这样:
UICollectionViewCell *cell = [collectionView cellForItemAtIndexPath:indexPath];
UILabel *myid=(UILabel *)[cell viewWithTag:1];
NSString *id = myid.text;
我认为您也可以通过indexPath从您的dataSource(例如ID)访问ID。
NSString *id = IDs[indexPath.row];
答案 1 :(得分:0)
创建UICollectionView的最佳方法来自以下链接
在此代码中,他们是一个方法cellForItemAtIndexPath
,您可以在其中创建子视图,如下所示
如果您想将UILabel用作子视图,请遵循此代码。
UILabel *lblName = (UILabel *)[cell viewWithTag:1];
if(lblName == nill)
{
//initalize the label.
lblName =[[UIlabel alloc]init];
lblName.tag=1;
}
else
{
//assign value for that label
}
您可以通过这种方式创建CollectionViewCell中的所有子视图。只是不要忘记在其他地方添加标签,它将始终为单元格创建新标签。