0

我是 iphone 新手,正在从事一个UITableView有两个需求的项目sections。在第一部分中,我们必须显示地址,在第二部分中,我们有四个变量行,其中包含Phone number, Fax, Email, and SMS. 如果任何项目 ( phone,fax,email,sms) 没有数据,则该行将不可见,并且每行都包含一个按钮。点击这些UIButton应该执行特定的功能,就像我点击电话行中的按钮然后它应该像明智地连接到电话一样。

我的问题是我无法区分UIButton操作,因为行不固定。那么如何根据特定的行数据动态地执行动作。目前我只能对所有行按钮执行一项操作。

4

3 回答 3

1

使用枚举来定义您的单元格类型。检查处理程序中的枚举。

typedef enum {
   CellTypePhone = 100, 
   CellTypeFax, 
   CellTypeEmail, 
   CellTypeSMS
} CellType;

使用这些来标记您的单元格或按钮,例如

cell.tag = CellTypePhone; 
button.tag = CellTypePhone;

然后您知道在按钮处理程序中选择了哪个单元格。

-(void)buttonPressed:(UIButton*)sender {
    if      (sender.tag == CellTypePhone)     { /* handle phone */ }
    else if (sender.tag == CellTypeFax)       { /* handle fax   */ }
    // etc.
}
于 2013-03-08T12:58:14.703 回答
0

为您的UIButtons. 您可以使用 IB 为您的按钮提供标签编号,然后相应地调用标签值执行操作

于 2013-03-08T13:04:40.073 回答
0

有几种不同的处理方式。我假设您有一些自定义单元格,上面有一个UILabelUIButton。首先是添加标签,就像 Mundi 说的那样。

第二个选项是向自定义单元格添加一个方法,为按钮设置目标和操作。当您根据数据设置单元格时,您还可以为每个按钮设置选择器。

于 2013-03-09T01:58:23.140 回答