首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >添加accessorytype而不使用委托

添加accessorytype而不使用委托
EN

Stack Overflow用户
提问于 2011-05-30 19:20:55
回答 2查看 149关注 0票数 0

有没有一种方法可以在不使用委托tableView函数的情况下将cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton;添加到表的每一行中?(原因有点复杂。)

我在想像这样的事情

代码语言:javascript
运行
复制
for(UITableViewCell *cell in TheTable){
cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton;
}

但是这是行不通的..有什么想法吗?

在ty之前!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-30 20:12:32

您将永远无法访问UITableView对象中的所有单元格。您可以访问@Jhaliya提到的可见单元格。当然,这里最好的方法是使用一个BOOL实例变量来跟踪单元格是否有详细信息显示按钮并翻转它们。

BOOL isDetailDisclosureAccessoryVisible;

tableView:cellForRowAtIndexPath:中,

代码语言:javascript
运行
复制
if ( isDetailDisclosureAccessoryVisible ) {
    cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton;
} else {
    cell.accessoryType = UITableViewCellAccessoryNone;
}

当你想让它们可用时,

代码语言:javascript
运行
复制
isDetailDisclosureAccessoryVisible = YES;
[TheTable reloadRowsAtIndexPaths:[TheTable indexPathsForVisibleRows]
                WithRowAnimation:UITableViewRowAnimationNone]; //Choose an appropriate animation here. 
票数 1
EN

Stack Overflow用户

发布于 2011-05-30 19:27:17

您可以通过访问您定义的函数中的UITableViewCell来完成此操作。

UITableView中有许多函数,您可以使用它们在委托函数之外访问UITableViewCell

代码语言:javascript
运行
复制
- (NSArray *)visibleCells;
- (NSArray *)indexPathsForRowsInRect:(CGRect)rect;
- (NSArray *)indexPathsForVisibleRows;

要访问给定indexPath的单元格,请使用以下方法。

代码语言:javascript
运行
复制
- (UITableViewCell *)cellForRowAtIndexPath:(NSIndexPath *)indexPath

有关更多信息,请阅读UITabelView苹果文档。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6175617

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档