Objective c 如何检查UIView是否在坐标处
我有一个包含textFields的tableView,当调用textFieldDidBeginEditing方法时,我有一个向上滑动tableView的动画。这是我的密码:Objective c 如何检查UIView是否在坐标处,objective-c,uitextfield,uikeyboard,Objective C,Uitextfield,Uikeyboard,我有一个包含textFields的tableView,当调用textFieldDidBeginEditing方法时,我有一个向上滑动tableView的动画。这是我的密码: - (void)textFieldDidBeginEditing:(UITextField *)textField { self.headerView.alpha = 0.2; [UIView beginAnimations:nil context:NULL]; [UIView setAnimatio
- (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是否在(0130)坐标处。有人知道我会怎么做吗?要进行精确比较,
CGPointEqualToPoint()
就足够了。要进行更广泛的比较(检查视图的rect是否包含给定的点),CGRectContainsPoint()
非常完美
当然,所有这些都有点过分。对视图进行子类化,并在视图上保留一个标记,以跟踪视图是否已向上滑动。它不仅使您的代码更加独立,而且使视图的逻辑远离控制器。在其上保留标志是什么意思?我对iOS编程相当陌生。一个简单的bool就足够了。移动时将其设置为“是”,调整回原位时将其设置为“否”。它使if语句更简洁,子类也更便宜。谢谢你的帮助,我想我明白了。