gpt4 book ai didi

ios - 制作tableview样式时遇到麻烦

转载 作者:行者123 更新时间:2023-11-29 04:53:44 25 4
gpt4 key购买 nike

我开发标签栏应用程序,每个标签 View 都是一个表格 View 。所以我的问题是,在第一个选项卡中我开发了一个普通的表格 View ,但在第二个选项卡中我需要一个分组的表格 View 。我在 xib 中将样式更改为分组,并在方法中执行了以下操作:

- (id)initWithStyle:(UITableViewStyle)style
{
self = [super initWithStyle:UITableViewStyleGrouped];
if (self) {
}
return self;
}

但是模拟器仍然向我显示一个简单的表格 View 。当我尝试在新应用程序中编写相同的代码时,一切正常。谁能帮忙解释一下为什么它不起作用?

整个代码:

- (void)viewDidLoad
{
[super viewDidLoad];

NSArray *row1 = [[NSArray alloc] initWithObjects:@"aaa1", @"aaa2", @"aaa3", nil];
NSArray *row2 = [[NSArray alloc] initWithObjects:@"bbb1", @"bbb2", @"bbb3", nil];
NSArray *row3 = [[NSArray alloc] initWithObjects:@"ccc1", @"ccc2", @"ccc3", nil];
NSDictionary *dict = [[NSDictionary alloc] initWithObjectsAndKeys:
row1, @"a",
row2, @"b",
row3, @"c", nil];
self.list = dict;


NSArray *array = [[list allKeys] sortedArrayUsingSelector:@selector(compare:)];
self.keys = array;
[row1 release];
[row2 release];
[row3 release];
[dict release];
}


- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
NSString *key = [keys objectAtIndex:section];
NSArray *nameSection = [list objectForKey:key];
return [nameSection count];
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSUInteger section = [indexPath section];
NSUInteger row = [indexPath row];

NSString *key = [self.keys objectAtIndex:section];
NSArray *nameSection = [self.list objectForKey:key];

static NSString *CellIdentifier = @"Cell";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}

cell.textLabel.text = [nameSection objectAtIndex:row];

return cell;
}

-(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
NSString *key = [self.keys objectAtIndex:section];
return key;
}

实际上,我在 XIB 文件中的属性检查器中所做的更改似乎没有任何作用。有人可以帮忙吗?

最佳答案

确保您的类是 UITableViewController 因为您正在使用:

- (id)initWithStyle:(UITableViewStyle)style

示例

@interface MyViewController : UITableViewController
{
NSString * something;
}

@end

或者

如果这不是您的 rootViewController,您始终可以确保表格按以下方式分组:

MyViewController * mvc = [[MyViewController alloc] initWithStyle:UITableViewStyleGrouped];

关于ios - 制作tableview样式时遇到麻烦,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8389376/

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