基于 SegmentedControl 有条件地重新加载 UITableView
Posted
技术标签:
【中文标题】基于 SegmentedControl 有条件地重新加载 UITableView【英文标题】:Reload UITableView conditionally based on SegmentedControl 【发布时间】:2010-10-23 20:45:27 【问题描述】:我想在点击按钮时根据分段控件的值有条件地重新加载表格视图。
所以在我的 buttonTapped 方法中,我有这个随机选择一个数组项的代码。在else
块中,我想从数组中删除所选项目以防止再次选择相同的项目,目前我将其从数组中删除...
但我希望能够将应用程序返回到点击按钮之前的状态,可能是通过创建数组的 -mutableCopy
然后从中删除项目。
我必须通过哪些潜在选项来表明无法再次选择某个项目?变灰了?颜色变化?删除行?
if (selectionControl.selectedSegmentIndex == 0)
int r = arc4random() % [[[APP_DELEGATE itemsDictionary] objectForKey:category] count];
NSLog(@"%i",[[[APP_DELEGATE itemsDictionary] objectForKey:category] objectAtIndex:r]);
else
//copyOfArray = [APP_DELEGATE.....]mutableCopy]; // Maybe?
int r = arc4random() % [[[APP_DELEGATE itemsDictionary] objectForKey:category] count];
NSLog(@"%i",[[[APP_DELEGATE itemsDictionary] objectForKey:category] objectAtIndex:r]);
[[[APP_DELEGATE itemsDictionary] objectForKey:category] removeObjectAtIndex:r];
//[copyOfArray removeObjectAtIndex:r]; // Maybe?
[self.tableView reloadData];
在每个 tableView 方法中,我需要在从 APP_DELEGATE 或副本返回值之前检查 selectionControl 的状态。
谢谢。
【问题讨论】:
【参考方案1】:我想我要做的是访问 UITableCellView 的“textLabel”成员,并将文本颜色设置为灰色。
您可以实现 tableView:willSelectRowAtIndexPath: 以在按下该行时返回 NIL - 这将使该行实际上无法被选中。
【讨论】:
以上是关于基于 SegmentedControl 有条件地重新加载 UITableView的主要内容,如果未能解决你的问题,请参考以下文章
是否可以使用RedirectMatch有条件地重定向URL?
根据存储在 data.frame 中的单独字符向量,有条件地重命名列表中的列