iphone:在不使用IBOutlet的情况下在UITableCell中查找其他UI元素

时间:2010-08-26 21:16:12

标签: iphone uitableview interface-builder

我有一堆我在界面构建器中构建的自定义UITableCells。然后将它们与正确的单元格索引相关联,并且在tableView中看起来很棒。

每个单元格都有几个按钮,所以不是为每个表格单元格按钮创建一个出口,有没有办法在当前单元格中“找到”任何UIButton类型?我需要这样做,因为我想给它一个IBAction,所以当你点击按钮它会做一些事情。

我只想保存代码,而不是创建20个或更多IBOutlets。

想法?

2 个答案:

答案 0 :(得分:2)

如果您在Interface Builder中为每个标记提供唯一标记,则可以使用viewWithTag: UIView方法找到它们。

答案 1 :(得分:0)

我认为您可以遍历任何UIView中的subviews属性,然后检查它是否特别是UIButton您可以使用- (BOOL)isKindOfClass:(Class)aClass。要区分UIButton,您可以将tags应用于他们或检查其他属性。

编辑:顺便说一句,为什么不只是将UITableViewCell作为子类,将你的按钮添加为IBOutlet属性,然后当你想要访问它们时你可以只做myCell.someButton? Here是一篇关于如何对UITableViewCell进行子类化并在UITableView中使用它的文章。

如果你这样做,那么一切都将被组织起来。 UITableView只会担心它的UITableViewCells,每个UITableViewCell都会担心它的各个UIButtons。