我是iphone的新手,正在处理一个需求位于UITableView
的项目,我们有两个sections
。在第一部分中,我们必须显示地址,在第二部分中,我们有四个由Phone number, Fax, Email, and SMS
组成的变量行。如果任何项目(phone,fax,email,sms
)没有数据,那么该行将不可见,每行包含一个按钮。点击这些UIButton
应该执行特定的功能,就像我点击电话行中的按钮然后它应该像智者一样连接到手机。
我的问题是由于行未修复,我无法区分UIButton
操作。那么如何动态地根据特定的行数据执行动作。目前,我只能对所有行按钮执行一个操作。
答案 0 :(得分: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.
}
答案 1 :(得分:0)
为UIButtons
提供不同的标记号。您可以使用IB为按钮指定标签号,然后相应地执行操作,调用标签值
答案 2 :(得分:0)
有几种不同的处理方式。我假设您有一些自定义单元格,其中包含UILabel
和UIButton
。第一件事是添加标签,如Mundi说。
第二个选项是向自定义单元格添加方法,以设置按钮的目标和操作。根据数据设置单元格时,也可以为每个按钮设置选择器。