如何检查UIView是否在坐标处

时间:2013-03-10 04:18:38

标签: objective-c uitextfield uikeyboard

我有一个带有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)坐标处。有谁知道我会怎么做?

1 个答案:

答案 0 :(得分:1)

要进行精确比较,CGPointEqualToPoint()就足够了。为了进行更广泛的比较(检查视图的矩形是否包含给定点),CGRectContainsPoint()是完美的。

当然,所有这些都有点多了。对视图进行子类化并在其上保留一个标记以跟踪它们是否已经滑动。它不仅使您的代码更加自包含,而且还使视图的逻辑保持在控制器之外。