我以前曾在iOS中与UITableView
合作过,但这次看起来真的很奇怪。我需要在选择UIViewController
时推送新UITableViewCell
。一切正常,但有时,当我回到包含UIViewController
的{{1}}并尝试选择与前一个不同的UITableView
时,它会自动选择{{1之前被点击过的。我知道这对你们中的一些人来说听起来可能很有趣,但它发生在我身上,一直困扰着我超过一天。任何帮助都会非常有帮助。我知道这真的很傻但我似乎无法发现它。
以下是'didSelectRowAtIndexPath'的样子 -
UITableViewCell
经过几个小时的调试后,我能够看到,在回来时,预期的UITableViewCell
永远不会以默认方式突出显示,并且一旦触摸被释放,“旧”{ {1}}被选中并执行其操作。
更新
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
[tableView deselectRowAtIndexPath:indexPath animated:YES];
NSLog(@"row - %ld", (long)indexPath.row);
Notification *obj = [objects objectAtIndex:indexPath.row];
if (obj.post.post_id) {
FeedViewController *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"postsView"];
[self.navigationController pushViewController:vc animated:YES];
vc.postID = obj.post.post_id;
self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStylePlain target:nil action:nil];
}
else
{
UserProfileViewController *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"userProfile"];
vc.username = obj.user.username;
[self.navigationController pushViewController:vc animated:YES];
self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStylePlain target:nil action:nil];
}
}
就是这样 -
UITableViewCell
我正在利用KILabel监听网址和主题标签的点击。
答案 0 :(得分:0)
看起来这是我用来检测主题标签和网址上的点按的KILabel库中的错误。
如果您遇到类似问题,请转到此处 - https://github.com/Krelborn/KILabel/issues/57