UITableView中的UISegment控件

时间:2012-08-23 07:24:31

标签: iphone uitableview xcode4.2 uisegmentedcontrol

enter image description here我已经在我的表视图中添加了一个段控件,我需要根据所选的段显示tableview单元格中的文本。

我已经按照一些教程,因为他们根据所选的片段给我标签文字。我也使用了segmentControl.selectedIndexPath。那么有谁能告诉我如何根据所选的段设置该对象数组到我的tableview单元格?

如果我的英语有任何错误,请纠正我。

请帮帮我。 非常感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

首先,您必须根据您的要求将数据划分为不同的数组,即segmentControl的数量。

此处如果有三个段控件,则在表视图的委托方法中创建三个数组,具体取决于段控件的选定索引,更改要在表视图中显示的数组。

如同segmentControl.selectedIndex == 0那么array1如果== 1然后是array2,如果== 2那么array3

在表视图的所有委托和数据源方法中。在段控件的selecedIndexChange:方法调用重载表。

快乐编码:)

编辑1

对于分段控件索引更改的表格视图中的更改数据,您必须为tableView设置一个IBOutlet,并使用IBOutlet使用[tableView reloadData];更改数据tableViewIBOutlet用于表格视图。

快乐编码:)

答案 1 :(得分:1)

tableview的常用用途; 在Controller中你有一个包含对象的数组,比如_tableObjects 您已在控制器中实现了数据源方法

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
     UITableViewCell *cell =......
     .................
     cell.labelText.text = [_tableObjects objectAtIndex:indexPath.row].name;
     return cell;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
   return _tableObjects.count;
}

因此,如果是这样,您可以在代码中的某处更改_tableObjects数组。

_tableObjects = myOtherArray;
[self.tableView reloadData];