我试图将一些文本对齐到部分标题的左侧,并将不同的文本放在同一标题的右侧.
在使用工具栏的时候,我使用了一个灵活的按钮来向左和向右推动其他按钮,我想知道部分标题是否有类似的东西?
更多的背景是我在每个不同的日子输入的每条信息的tableview中有不同的部分.在标题栏的左侧,我想要输入日期(11月20日星期三),在右边,我想要多少天前(20天前).
这是我目前使用的代码:
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
if (section == 0) {
return nil;
}
else {
// This gets the day the data was entered
NSDate * date = [_sectionDates objectAtIndex:(section-1)];
NSDateFormatter * formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"EEE"];
NSString * dateDay = [formatter stringFromDate:date];
[formatter setDateFormat:@"MMM"];
NSString * dateMonth = [formatter stringFromDate:date];
NSDateComponents * components = [[NSCalendar currentCalendar] components:NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear fromDate:date];
NSInteger dateOfDay = [components day];
NSTimeInterval diff = [[NSDate date] timeIntervalSinceDate:date];
NSInteger days = diff / (60.0 * 60.0 * 24);
NSString * dateScript;
if (dateOfDay < 21 && dateOfDay > 4) {
dateScript = @"th";
}
else if (dateOfDay % 10 == 1) {
dateScript = @"st";
}
else if (dateOfDay % 10 == 2) {
dateScript = @"nd";
}
else if (dateOfDay % 10 == 3) {
dateScript = @"rd";
}
else {
dateScript = @"th";
}
NSString * header;
if (days < 2) {
header = [NSString stringWithFormat:@"%@ %i%@ %@ - %@", dateDay, dateOfDay, dateScript, dateMonth, days == 0 ? bToday : bYesterday];
}
else {
header = [NSString stringWithFormat:@"%@ %i%@ %@ - %i %@", dateDay, dateOfDay, dateScript, dateMonth, days, bDaysAgo];
}
return header;
}
}
目前这输出如下:
| 12月4日星期三 – 今天________ |
我希望它是这样的:
| 12月4日星期三_________今天|
最佳答案 你不能用titleForHeaderInSection做到这一点.您需要实现viewForHeaderInSection.返回带有两个标签的视图 – 一个在左边,一个在右边.当然,如果这是您想要的,您还需要复制标准表节标题的默认外观.