有谁知道如何将范围栏添加到UITableView
?
App Store应用程序有时会这样做,如下图所示。
我想使用此范围栏为UITableView
中的元素添加排序选项。这比使用UISegmentControl
的工具栏更方便。
我只是不知道如何实现这一点。我甚至不知道元素的名称(我称之为范围栏,因为它看起来就像UISearchBar
的范围栏,但它不是。)
答案 0 :(得分:13)
实际上,与其他人所说的不同,此UISegmentedControl的.segmentedControlStyle
属性设置为未记录的值7。
theSegCtrl.segmentedControlStyle = 7;
但@Macatomy的答案更安全AppStore(尽管Apple无论如何都无法检测到这一点)。
答案 1 :(得分:4)
可能你已经解决了这个问题,但我相信这对其他人有帮助。
在您在TableViewController中使用的ViewController中,应插入以下代码:
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
NSArray *segmentTextContent = [NSArray arrayWithObjects: @"one",@"two",@"three", nil];
UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:segmentTextContent];
segmentedControl.frame = CGRectMake(2, 5, 316, 35);
[self.segmentedControl addTarget:self action:@selector(segmentChanged:) forControlEvents:UIControlEventValueChanged];
self.segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar; //changes the default style
self.segmentedControl.tintColor = [UIColor darkGrayColor]; //changes the default color
self.segmentedControl.enabled = true;
self.segmentedControl.selectedSegmentIndex = 0;
return self.segmentedControl;
}
插入一个分段控件作为表格标题,当您到达列表顶部时(如果您愿意)也会反弹,同时在列表中滚动时始终保持可见状态。
希望它有所帮助。
答案 2 :(得分:2)
元素是具有UISegmentedControlStyleBar
样式的UISegmentedControl。您可以设置tintColor
属性以获得所需的颜色。只需将视图放在表格视图上方,您就可以获得看起来像截图的内容。
答案 3 :(得分:1)
您可以创建它,设置其细分,并设置其委托。然后,每当所选分段发生变化时,代表就会采取某种行动。