我在 RootViewController 中有一个 UITableView ,当点击一个单元格时,我希望它有颜色,但一次只能启用一个。
我很难说“如果 CGRect 不包含抽头”。
.m
- (void)changeColour:(UITapGestureRecognizer *)tap
{
if (UIGestureRecognizerStateEnded == tap.state) {
UITableView *tableView = (UITableView *)tap.view;
CGPoint p = [tap locationInView:tap.view];
NSIndexPath* indexPath = [tableView indexPathForRowAtPoint:p];
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
CGPoint pointInCell = [tap locationInView:cell];
if (CGRectContainsPoint(cell.frame, p)) {
UIView* view1 = [[UIView alloc] init];
view1.backgroundColor = [UIColor redColor];
[cell setBackgroundView:view1];
} else {
UIView* view1 = [[UIView alloc] init];
view1.backgroundColor = [UIColor whiteColor];
[cell setBackgroundView:view1];
}
}
}