我想在我的UITableView中使用标准披露附件图像的自定义版本。我怎样才能做到这一点?我希望子类UITableViewCell对于这个基本的东西不是必需的。如何在UITableViewCell中定制附件披露图像?
48
A
回答
113
您需要创建自定义视图并将其分配给UITableViewCell
对象的accessoryView
属性。喜欢的东西:
myCell.accessoryView = [[ UIImageView alloc ]
initWithImage:[UIImage imageNamed:@"Something" ]];
7
我遇到同样的问题,因为格雷格 - 附属视图不跟踪(如果你使用的UIImageView)
我解决了它这样的:
UIImage * image = [ UIImage imageNamed:@"disclosure-button-grey.png" ] ;
UIControl * c = [ [ UIControl alloc ] initWithFrame:(CGRect){ CGPointZero, image.size } ] ;
c.layer.contents = (id)image.CGImage ;
[ c addTarget:self action:@selector(accessoryTapped:) forControlEvents:UIControlEventTouchUpInside ] ;
cell.accessoryView = c ;
[ c release ] ;
9
- (UITableViewCell *)tableView:(UITableView *)tView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UIImage *indicatorImage = [UIImage imageNamed:@"Arrow.png"];
cell.accessoryView =[[[UIImageView alloc] initWithImage:indicatorImage] autorelease];
return cell;
}
以及我做到这一点上面
-2
注意给予帮助代码:不设置自定义单元格标记:0。该标记是为textLabel视图保留的。如果您在Xcode Storyboard中设置了标签,您必须将自定义视图/标签的标签设置为1或更高。
注意苹果的例子:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath (NSIndexPath *)indexPath
{
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"MyIdentifier"];
UILabel *label;
label = (UILabel *)[cell viewWithTag:1];
label.text = [NSString stringWithFormat:@"%d", indexPath.row];
label = (UILabel *)[cell viewWithTag:2];
label.text = [NSString stringWithFormat:@"%d", NUMBER_OF_ROWS - indexPath.row];
return cell;
}
0
我会做如下:
UIImageView *chevronImgVw = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"chevron_accessory_vw_img.png"]];
chevronImgVw.frame = CGRectMake(cell.accessoryView.frame.origin.x, cell.accessoryView.frame.origin.y, 10, 20);
cell.accessoryView = chevronImgVw;
请尝试在此之前你失望的一票!因为目前它有2个upvotes和2个downvotes!
-1
我试过上面的代码,它似乎不工作了,也许是由于这篇文章的年龄,所以我会抛弃我的行,给了我定制的配件视图。
[cell setAccessoryView:[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"arrowBtn"]]];
希望有人认为这有用。
0
有一个nice example from Apple显示如何使用UIControl
来完成这种accessoryView自定义。
在UIControl中重写不是最简单的方法,但给你很多灵活性,以风格漂亮的配件视图。
相关问题
- 1. 如何将披露按钮添加到自定义UITableViewCell
- 2. 披露指标和详细披露
- 3. 渐进式披露控制
- 4. 如何将披露按钮设置为UItableViewCell
- 5. 具有自定义披露的UITableViewCell会导致错误对齐?
- 6. 披露三角没有出现在我的UITableViewCell上
- 7. iOS在UITableViewCell上与iOS9 iPad发生错误披露背景
- 8. JavaFX中的披露窗格
- 9. 如何使用披露附件按钮创建像单元格一样的视图?
- 10. 定制UITableViewCell附件未正确定位
- 11. 如何强制UITableViewCell保留其附件
- 12. 细节披露按钮和披露指标有什么区别?
- 13. 的UITableViewCell +标准披露指标+次要的UIButton + HIG违反
- 14. 旋转UITableViewCell细节披露指标不工作
- 15. 详细披露图标的位置
- 16. 表视图细节披露iOS
- 17. 自定义UIView信息披露指标
- 18. CGI信息披露问题
- 19. TableViewCell披露指标位置
- 20. 细节披露编号
- 21. 白色披露指标
- 22. 如何在GET请求中披露Entityframework属性名称?
- 23. 如何在附件图像中制作三维网格?
- 24. Sencha Touch:在单个项目上披露
- 25. 配置文件视图与其他披露水平
- 26. 配件披露指标未显示在自定义单元格中
- 27. 如何在逐步披露时处理标签顺序?
- 28. UITableViewCell中的多个图像,并在iPhone中附加操作
- 29. 如何引用附件中的图像
- 30. 如何显示附件中的图像?
如果我这样做,我注意到的UITableViewDelegate方法 - [的tableView:accessoryButtonTappedForRowWithIndexPath:]不再被调用。那是预期的行为?有没有办法保持这种方法的工作? – 2010-01-05 01:54:47
还有一些更多的解释在http://stackoverflow.com/questions/869421/using-a-custom-image-for-a-uitableviewcells-accessoryview-and-having-it-respond – jarnoan 2010-10-06 13:21:45
是否有可能使用UIApperance UITableViewCell上的代理? – Claus 2013-07-03 10:37:11