UITableView的自定义Cell.accessoryView仅显示iOS中的第一行

时间:2013-07-22 16:27:20

标签: ios cocoa-touch uitableview

您好我需要在我的应用中添加自定义单元accessoryView。

这是我自定义cellAccessorView的代码。

self.viewOfAccessory = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 70, 55)];
self.lblDay.text = @"Monday";
[self.viewOfAccessory addSubview:self.lblDay];
cell.accessoryView = self.viewOfAccessory;

然而,它只显示在第一行。不在tableView的每一行。

我想像照片一样。

enter image description here

我该怎么做?

2 个答案:

答案 0 :(得分:3)

视图只能在一个地方添加。您正在使用self.viewOfAccessory属性来定义要显示的内容,然后尝试将其添加到所有单元格中。但是,self.viewOfAccessory只会出现在一个地方。如果你把它添加到其他地方(即另一行),它就会被移动。您需要创建单独的视图并将其添加到每个单元格。

答案 1 :(得分:1)

我认为问题可能是因为你将元素称为“self”的一部分,然后在“self”(应该是tableViewController)中再次添加它们,试试这个:

UIView* viewOfAccessory = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 70, 55)];
//Get the text from lblDay label, check if the "self." is necessary
self.lblDay.text = @"Monday"; //Not sure about this line since I don't have the whole code
[viewOfAccessory addSubview: lblDay];
cell.accessoryView = viewOfAccessory;