gpt4 book ai didi

ios - UITableViewCell setSelected :animated called twice on iPad

转载 作者:可可西里 更新时间:2023-11-01 03:31:44 26 4
gpt4 key购买 nike

我的 iPhone 应用程序上有一个自定义的 UITableViewCell,我有一个自定义的 setSelected:animated 方法。我的应用程序在 iPhone 上运行完美,但是,我开始将我的应用程序移植到 iPad。我已经复制了完全相同的 Storyboard ,没有做任何更改,但是现在当我选择我的单元格时,我的 setSelected:animated 方法被调用了两次(使用相同的参数)。我可以通过检查 iPad 等来“处理”这种情况,但这是一种不好的做法。它在 iPhone 上调用一次但在 iPad 上调用两次的原因可能是什么? (均为 iOS 7.0.3)表格 View 的属性完全相同(我已经复制了 iPhone Storyboard文件)。

相关代码如下:

- (void)setSelected:(BOOL)selected animated:(BOOL)animated
{
isSelected = selected;
[self setNeedsDisplay];
if(selected){
SocialMatchAppDelegate *del = (SocialMatchAppDelegate*)[UIApplication sharedApplication].delegate;
del.selectedUser = self.user;
[del.resultViewController performSegueWithIdentifier:@"viewProfile" sender:self];
}
}

最佳答案

如果您使用的是 iPad,我想这是正常行为。

为了停止获取多个“setSelected:YES”或多个“setSelected:NO”,您所要做的就是:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[tableView deselectRowAtIndexPath:indexPath animated:YES];
}

现在,在任何单元格上单击 1 次即可:

  • setSelected:YES animated:NO 的 1 个条目
  • tableView 的 1 个条目:didSelectRowAtIndexPath:
  • setSelected:NO animated:YES 的 1 个条目

关于ios - UITableViewCell setSelected :animated called twice on iPad,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20995357/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com