gpt4 book ai didi

objective-c - UITableView - 字母表

转载 作者:搜寻专家 更新时间:2023-10-30 19:43:03 27 4
gpt4 key购买 nike

这是我希望用字母表添加到我的 UITableView 的改进:

如果我的表中没有不以字母之一开头的结果,我不想在我的 UITableView 中看到这个 titleForHeaderInSection。

而且我找不到这样做的方法。

您可以看到我当前的实现和图像作为示例 (http://blog.joefusco.name/wp-content/uploads/2010/10/indexed-table.jpg):

facilitiesViewController.h:

@interface FacilitiesViewController : UITableViewController <UITableViewDelegate, UITableViewDataSource, ...>  {
IBOutlet UITableView *facilitiesTableView;
NSMutableArray *facilitiesDictionary;
NSArray *alphabet;
...
}
@property (nonatomic, retain) NSMutableArray *facilitiesDictionary;
@property (nonatomic, retain) NSArray *alphabet;
...

@end

facilitiesViewController.m:

@implementation FacilitiesViewController
...

- (void)viewDidLoad {
[super viewDidLoad];

alphabet = [[NSArray alloc]initWithObjects:@"A",@"B",@"C",@"D",@"E",@"F",@"G",@"H",@"I",@"J",@"K",
@"L",@"M",@"N",@"O",@"P",@"Q",@"R",@"S",@"T",@"U",@"V",@"W",@"X",@"Y",@"Z",nil];

facilitiesDictionary = [[NSMutableArray alloc]init];

for (int i = 0; i < [alphabet count]; i++)
[facilitiesDictionary insertObject:[[NSMutableArray alloc] init] atIndex: i];
... }

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return [alphabet count]; }

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return [[facilitiesDictionary objectAtIndex:section] count]; }

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
...
return cell; }

- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView {
return alphabet; }

- (NSInteger)tableView:(UITableView *)tableView sectionForSectionIndexTitle:(NSString *)title atIndex:(NSInteger)index {
return [alphabet indexOfObject:title]; }

- (NSString *)tableView:(UITableView *)aTableView titleForHeaderInSection:(NSInteger)section {
return [alphabet objectAtIndex:section]; }

@end

最佳答案

- (NSString *)tableView:(UITableView *)aTableView titleForHeaderInSection:(NSInteger)section
{
if ([aTableView numberOfRowsInSection:section] == 0) return nil;

return [alphabet objectAtIndex:section];
}

UITableView Class Reference

关于objective-c - UITableView - 字母表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4286744/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com