UITableView的范围栏像App Store?
有谁知道如何添加范围栏到UITableView
? App Store应用程序有时会这样做,如下图所示。
我想使用这个范围栏来添加UITableView
的元素的sorting选项。 这比使用带有UISegmentControl
的工具栏更方便。
我只是不知道如何实现这一点。 我什至不知道该元素的名称(我称之为范围栏,因为它看起来就像一个UISearchBar
的范围栏,但它不是)。
该元素是UISegmentedControlStyleBar
样式的UISegmentedControlStyleBar
。 你可以设置tintColor
属性来获得所需的颜色。 只要把视图放在表格视图上面,你就可以得到一些看起来像那个截图的东西。
实际上,与其他人所说的不同,这个UISegmentedControl的.segmentedControlStyle
属性被设置为一个无证的值7。
theSegCtrl.segmentedControlStyle = 7;
但@Macatomy的答案是更多的AppStore安全(尽pipe苹果无法检测到这一点)。
可能你已经解决了这个问题,但是我相信这可以对其他人有所帮助。
在你使用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
您创build它,设置其细分,并设置其委托。 每当选定的分段发生变化时,代表就会采取某种行动。