有谁知道如何将范围栏添加到UITableView
? App Store 应用程序有时会这样做,如下图所示。
我想使用这个范围栏为UITableView
. 这比使用带有UISegmentControl
.
我只是不知道如何实现这一点。我什至不知道元素的名称(我称它为范围栏,因为它看起来就像 a 的范围栏UISearchBar
,但事实并非如此)。
有谁知道如何将范围栏添加到UITableView
? App Store 应用程序有时会这样做,如下图所示。
我想使用这个范围栏为UITableView
. 这比使用带有UISegmentControl
.
我只是不知道如何实现这一点。我什至不知道元素的名称(我称它为范围栏,因为它看起来就像 a 的范围栏UISearchBar
,但事实并非如此)。
实际上,与其他人所说的不同,此 UISegmentedControl 的.segmentedControlStyle
属性设置为未记录的值 7。
theSegCtrl.segmentedControlStyle = 7;
但是@Macatomy的答案对AppStore 更安全(尽管Apple 无论如何都无法检测到这一点)。
可能您已经解决了这个问题,但我相信这对其他人有帮助。
在您在该 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;
}
这会插入一个分段控件作为表头,当您到达列表顶部时(如果您愿意)它也会反弹,同时在您滚动列表时始终保持可见。
希望能帮助到你。
该元素是具有样式的UISegmentedControl 。UISegmentedControlStyleBar
您可以设置tintColor
属性以获得所需的颜色。只需将视图放在表格视图上方,您就可以得到类似于该屏幕截图的内容。
您创建它,设置它的段,并设置它的委托。然后,每次选定的段发生变化时,委托都会采取某种行动。