gpt4 book ai didi

ios - 如何在 UITableViewCellStyleSubtitle 中显示多行

转载 作者:行者123 更新时间:2023-11-29 02:31:00 25 4
gpt4 key购买 nike

所以我的应用程序中有一个下载管理器。今天,我已经决定要让它活跃起来。

我已经实现了 UITableViewCellStyleSubtitle,并且可以正常显示。

我想向其中添加多于 1 行。现在我只能选择文件大小或格式化日期。

我该怎么做呢?即

Cell Title
Date: (followed by file size) or
File Size:

下面是我正在使用的相关代码。

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [(UITableViewCell*)[tableView dequeueReusableCellWithIdentifier:CellIdentifier] autorelease];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];
[cell setSelectionStyle:UITableViewCellSelectionStyleBlue];
}

// Configure the cell.
cell.textLabel.text = [directoryContents objectAtIndex:indexPath.row];
cell.accessoryType = UITableViewCellAccessoryNone;
[cell.layer setBorderColor:[UIColor colorWithRed:30/255.0 green:30/255.0 blue:30/255.0 alpha:1.0].CGColor];
[cell.layer setBorderWidth:1.5f];
cell.textLabel.numberOfLines = 0;


//Get file size
NSError *error;
NSString *fileName = [directoryContents objectAtIndex:indexPath.row];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *path = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"my folder"];
path = [path stringByAppendingPathComponent:fileName];

NSDictionary *fileAttributes = [[NSFileManager defaultManager] attributesOfItemAtPath:path error:&error];
NSInteger fileSize = [[fileAttributes objectForKey:NSFileSize] intValue];

//Setting the date
NSFileManager *fileManager = [NSFileManager defaultManager];
NSString *documentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];
NSString *filePath = [documentsPath stringByAppendingPathComponent:@"my folder"];
filePath = [filePath stringByAppendingPathComponent:fileName];

NSDate *creationDate = nil;
NSDictionary *attributes = [fileManager attributesOfItemAtPath:filePath error:nil];
creationDate = attributes[NSFileCreationDate];

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"MM-dd-yyyy"];
NSString *dateString = [dateFormatter stringFromDate:creationDate];


/////This is where I need to blend the dateString with the file size//////
cell.detailTextLabel.text = [NSString stringWithFormat:dateString, @"%@", [self formattedFileSize:fileSize]];
cell.detailTextLabel.numberOfLines = 2;

return cell;
}

先谢谢你。

最佳答案

我试过了,出于某种原因,将 numberOfLines 设置为 2 对我也不起作用,但是将它设置为任何大于 2 的值,或者将其设置为 0 就可以了。

您需要正确格式化您的两个字符串。这是不正确的语法,

[NSString stringWithFormat:dateString, @"%@", [self formattedFileSize:fileSize]]

应该是这样的,

[NSString stringWithFormat:@"%@\n%@",  dateString, [self formattedFileSize:fileSize]];

关于ios - 如何在 UITableViewCellStyleSubtitle 中显示多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26876686/

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