我有一个带有textFields的tableView,我有动画,当调用textFieldDidBeginEditing方法时,它会滑动tableView。这是我的代码:
- (void)textFieldDidBeginEditing:(UITextField *)textField {
self.headerView.alpha = 0.2;
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.18];
[UIView setAnimationDelegate:self];
self.theTableView.frame = CGRectMake(0, 130, 320, 209);
[UIView commitAnimations];
}
问题是,只要轻敲其中一个单元格就会发生动画,但我只希望在第一次单击一个单元格时发生。所以我想我应该创建一个if语句来检查tableView是否在(0,130)坐标处。有谁知道我会怎么做?
答案 0 :(得分:1)
要进行精确比较,CGPointEqualToPoint()
就足够了。为了进行更广泛的比较(检查视图的矩形是否包含给定点),CGRectContainsPoint()
是完美的。
当然,所有这些都有点多了。对视图进行子类化并在其上保留一个标记以跟踪它们是否已经滑动。它不仅使您的代码更加自包含,而且还使视图的逻辑保持在控制器之外。