// 要访问NSSet中的对象,使用anyObject
// 集合的用处:例如可重用单元格,在缓冲区找一个就拿出来了
// NSArray : 存储有序的对象,对象的顺序是按照添加的先后次序来决定,通过下标来访问数组中的对象
2、// 支持多点
self.view.multipleTouchEnabled = YES;
3、// 1. 图像视图默认不支持用户交互
self.imageView.userInteractionEnabled = NO;
// 2. 透明度 <= 0.01的时候,接受交互
// self.imageView.alpha = 0.02;
// 3. 隐藏
// self.imageView.hidden = YES;
// 第4种情况,如果子视图所在位置,超出了父视图的有效范围,是不能交互的
// 即便没有设置clipsToBounds,也只能显示,但是不能交互!
4、//
// 1> hitTest方法是系统"底层专门"用来"递归遍历"哪一个视图应该对点击做出响应的方法!
// 2> point参数是当前视图的坐标点,专门用来判断用户触摸点是否在视图的"有效范围"内!
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
{ // 强行拦截所有的点击测试!
return [super hitTest:point withEvent:event];
}
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
UITouch *touch = [touches anyObject];
CGPoint pos = [touch locationInView:touch.view];
for (UIButton *btn in self.subviews) {
if (CGRectContainsPoint(btn.frame, pos)) {
btn.selected = YES;
}
}
}
6、事务
2.1 -> 开启事务[CATransaction begin];[CATransaction setDisableActions:YES];2.2 -> 提交事务[CATransaction commit];