我创建了一个TableView(分组表视图)。我可以在表格视图中列出项目。但我想知道下表是如何显示的
像Calender在左侧,而Gregorian在右侧? Gregorian如何在右侧显示?它是自定义TableView,任何人都可以帮助我如何实现这一目标吗?
答案 0 :(得分:10)
这些只是包含style = UITableViewCellStyleValue1
和accessoryType = UITableViewCellAccessoryDisclosureIndicator
的常规单元格。
以编程方式制作一个:
UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:@"YourIdentifier"];
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
(请注意,在现实生活中,您可能会尝试dequeueReusableCellWithIdentifier:
,并且仅在返回nil时才创建新单元格。)
或者,如果您正在使用IB,请将“Style”设置为“Right Detail”,将“Accessory”设置为“Disclosure Indicator”。
答案 1 :(得分:1)
您需要使用以下代码帮助您
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:CellIdentifier] autorelease];
cell.accessoryType=UITableViewCellAccessoryDisclosureIndicator;
UIImageView *v = [[[UIImageView alloc] init]autorelease];
v.backgroundColor = [UIColor clearColor]; // put clear color
[v setClipsToBounds:YES];
cell.selectedBackgroundView = v;
[cell setClipsToBounds:YES];
}
UIImageView *imgVBG=(UIImageView*)[cell selectedBackgroundView];
if(indexPath.row==0){
imgVBG.image=[UIImage imageNamed:@"TopImg.png"];
} else if((indexPath.section==0 && indexPath.row==4)||(indexPath.section==1 && indexPath.row==7)){
imgVBG.image=[UIImage imageNamed:@"BottomImg.png"];
} else {
imgVBG.image=[UIImage imageNamed:@"MiddleImg.png"];
}
}
答案 2 :(得分:-2)