2011-05-13 79 views
0

我有一个UITableViewCell子类,它有3个标签和大小,并根据文本长度定位标签。选中时,所有行都执行相同的功能。我想要一些行也有一个与它们相关的详细视图。所以我想添加一个UIButton到几行,但我不知道该怎么做。UITableViewCell子类 - 如何将一个按钮添加到某些行

我应该创建一个UITVCell子类的UIButton成员,并且在layoutSubviews中如果按钮不是零,我可以为它腾出空间吗?

cellForRowAtIndexPath会是什么样子?我需要两个重用标识符吗?一个用于按钮,一个用于无按钮?或者只是创建按钮,具有按钮的单元格将自动检测layoutSubviews中的按钮并为其腾出空间?

我找不到任何在线的例子有人这样做,而不使用厦门国际银行的..

编辑 - 因此,我增加了详细披露按钮,如下的建议,我可以检测到我的手机有一个accessoryType,但accessoryView的宽度和高度都是垃圾。我需要的宽度和高度,因为现在的配件是在最前面我行文字,因为我不会在我的layoutSubviews代码占它的..

// CustomTableViewCell.m: 
- (void)layoutSubviews { 
    // I need a width/height here so I can accomodate the accessory button. 
    if (self.accessoryType != UITableViewCellAccessoryNone) { 
     NSLog(@"accessory! %f %f",self.accessoryView.frame.size.width, self.accessoryView.frame.size.height); 
    } 
} 
+0

它看起来就像是一个UITableViewCell子类我有一个accessoryView ..也许如果我检查这是不是零,并在layoutSubviews中腾出空间,我甚至可以使用tableView:accessoryButtonTappedForRowWithIndexPath: – Mark 2011-05-13 01:03:14

回答

2

你不” t需要添加一个UIButton到具有详细信息视图的行 - 只需让他们拥有一个披露按钮(注意:按钮,而不是指示器!)。揭秘按钮,当点击时,通常会显示该单元格的详细视图。

要启用某个小区披露按钮,就在cellForRowAtIndexPath方法如下:

cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; 

更多细节在这里:

What's the difference between an Detail Disclosure Button and an Disclosure Indicator?

+0

谢谢,这只是为我省了很多困惑。 – Mark 2011-05-13 01:32:46

+0

如果您对我的回答感到满意,请考虑通过点击左侧的勾号来接受它。 – occulus 2011-05-13 17:13:11

+0

由于TVCell子类必须有一种方法来解释披露按钮占用的空间,所以我们还没有完成... – Mark 2011-05-13 19:04:46

相关问题