我有一个使用UITableViewCellStyleSubtitle显示单元格的表:
=============================================================
Title:This is the title of something Date:Custom label
Subtitle:breif description
=============================================================
我的问题是,有时标题比单元格长,覆盖日期。 那么有没有办法可以缩小cell.textlabel,以便它不允许它覆盖日期。
这是我的单元格代码
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc]
initWithStyle:UITableViewCellStyleSubtitle
reuseIdentifier:CellIdentifier]
autorelease];
CGRect frame;
if (self.interfaceOrientation == UIInterfaceOrientationLandscapeLeft || self.interfaceOrientation == UIInterfaceOrientationLandscapeRight)
frame.origin.x = 370;
else
frame.origin.x = 220;
frame.origin.y = 15;
frame.size.height = 15;
frame.size.width = 80;
UILabel *dateLabel = [[UILabel alloc] initWithFrame:frame];
dateLabel.tag = 1;
[cell.contentView addSubview:dateLabel];
[dateLabel release];
}
Document *d = [documentList objectAtIndex:indexPath.row];
UILabel *dateLabel = (UILabel *) [cell.contentView viewWithTag:1];
dateLabel.text = [d date];
dateLabel.textColor = [UIColor blackColor];
[dateLabel setFont:[UIFont fontWithName:@"Arial" size:12]];
cell.textLabel.textColor = [UIColor blackColor];
[cell.textLabel setFont:[UIFont boldSystemFontOfSize:13]];
cell.textLabel.text = [d title];
cell.detailTextLabel.textColor = [UIColor blackColor];
[cell.detailTextLabel setFont:[UIFont fontWithName:@"Arial" size: 10]];
cell.detailTextLabel.text = [d inst];
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
return cell;
}
答案 0 :(得分:1)
创建您自己的自定义UITableViewCell
子类并手动排列标签。目前,您正在使用内置单元格类型(UITableViewCellStyleSubtitle
),然后将日期子视图添加到其中,这会将标题标签置于您的权限范围之外。