Ios 有些UIButton最初隐藏在自定义TableViewCell中,有些则不是,但在滚动时,一切都会变得一团糟
在我的应用程序中,基于从web服务返回的一些数据,我必须禁用或启用自定义UITableViewCell上的按钮。最初,当表格呈现时,一切都很好;但在滚动之后,事情就变得失控了 我知道我需要使用标签。但是怎么做呢?我是标记每个单元格还是仅标记每个单元格上的相关按钮。请帮忙Ios 有些UIButton最初隐藏在自定义TableViewCell中,有些则不是,但在滚动时,一切都会变得一团糟,ios,iphone,uitableview,Ios,Iphone,Uitableview,在我的应用程序中,基于从web服务返回的一些数据,我必须禁用或启用自定义UITableViewCell上的按钮。最初,当表格呈现时,一切都很好;但在滚动之后,事情就变得失控了 我知道我需要使用标签。但是怎么做呢?我是标记每个单元格还是仅标记每个单元格上的相关按钮。请帮忙 -(UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { stati
-(UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *cellIdentifierForContacts = @"UserContacts";
if (!indexPath.row)
{
ContactNumberTableCell *cell = (ContactNumberTableCell*)[tableView dequeueReusableCellWithIdentifier:cellIdentifierForContacts];
if (cell == nil)
{
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"ContactNumberTableCell" owner:self options:nil];
cell = [nib objectAtIndex:0];
}
// THE CALL BUTTON IS TO BE DISABLED WHEN THE WEB SERVICE DOES NOT RETURN A CONTACT NUMBER
UITapGestureRecognizer *singleTapForCall = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(callPressed:)];
[cell.call addGestureRecognizer:singleTapForCall];
UITapGestureRecognizer *singleTapForSave = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(savePressed:)];
[cell.save addGestureRecognizer:singleTapForSave];
NSMutableDictionary *dict = [arrayOfContactNumbers objectAtIndex:indexPath.section];
if([dict objectForKey:@"WorkPhone"] == [NSNull null])
{
cell.contactNumber.text = @"Not In Record";
//AREA OF PROBLEM.. THE STATE DOES NOT REMAIN THE SAME WHEN TABLE ROWS ARE SCROLLED
[cell.call setHidden:YES];
}
else
{
cell.contactNumber.text = [dict objectForKey:@"WorkPhone"];
}
}
这样做:
- (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
//Your code
---
----
if([dict objectForKey:@"WorkPhone"] == [NSNull null])
{
//AREA OF PROBLEM.. THE STATE DOES NOT REMAIN THE SAME WHEN TABLE ROWS ARE SCROLLE
cell.contactNumber.text = @"Not In Record";
[cell.call setHidden:YES];
}
else
{
[cell.call setHidden:NO];//show your button here
cell.contactNumber.text = [dict objectForKey:@"WorkPhone"];
}
//Your code
---
----
}
请出示CellForRowatineXpath:的完整代码好吗?实际上,只有这部分代码与我的问题有关。。即使我把代码粘贴在这里,也不会有帮助。事实上,这行如果!indexPath.row没有意义。这就是我要问的问题。这句话多少次变成现实?你查过了吗?你在这条线上得到了什么!行。它成真了多少次?如果!行检查该行是否为节。实际上,我正在创建嵌套行。。这是可折叠和可扩展的行。它工作正常。。问题在于只维护按钮的状态。答案对您没有帮助吗?